//MainActivity 的代码
package com.example.x;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import com.jcodecraeer.xrecyclerview.ProgressStyle;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private XRecyclerView xrv;
private int i;
private XRaDAPTER adapter;
private List<Bean.SongListBean> list;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xrv =(XRecyclerView)findViewById(R.id.xrv);
//设置上拉
xrv.setPullRefreshEnabled(true);
xrv.setLoadingMoreEnabled(true);
xrv.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader);
xrv.setLaodingMoreProgressStyle(ProgressStyle.BallClipRotate);
//设置监听
xrv.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
i=0;
list.clear();
loaddata(i);
adapter.notifyDataSetChanged();
xrv.refreshComplete();
}
},3000);
}
@Override
public void onLoadMore() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
i++;
loaddata(i);
list.addAll(list);
xrv.loadMoreComplete();
}
},3000);
}
});
//创建数据集合
loaddata(i);
}
private void loaddata(int i){
Map<String, String> map = new HashMap<>();
HttpUtils.getInstance().get("http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.billboard.billList&type=1&size=10&offset=" + i, map, new CallBack() {
@Override
public void onSuccess(Object o) {
Bean bean=(Bean) o;
list = bean.getSong_list();
//添加适配器
adapter = new XRaDAPTER(MainActivity.this, list);
xrv.setAdapter(adapter);
LinearLayoutManager manager = new LinearLayoutManager(MainActivity.this,LinearLayoutManager.VERTICAL,false);
xrv.setLayoutManager(manager);
}
@Override
public void onFailed(Exception e) {
}
},Bean.class);
}
}
////////////////////////////////适配器
package com.example.x;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import java.util.List;
/**
* Created by on 2017/11/12.
*/
public class XRaDAPTER extends RecyclerView.Adapter<XRaDAPTER.ViewHolder> {
private Context context;
private List<Bean.SongListBean> list;
public XRaDAPTER(Context context, List<Bean.SongListBean> list) {
this.context = context;
this.list = list;
}
class ViewHolder extends RecyclerView.ViewHolder{
private final ImageView img;
private final TextView tv;
public ViewHolder(View itemView) {
super(itemView);
img =(ImageView)itemView.findViewById(R.id.img);
tv=(TextView)itemView.findViewById(R.id.tv);
}
}
@Override
public XRaDAPTER.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View inflate = View.inflate(context, R.layout.item, null);
ViewHolder holder = new ViewHolder(inflate);
return holder;
}
@Override
public void onBindViewHolder(XRaDAPTER.ViewHolder holder, int position) {
Glide.with(context).load(list.get(position).getPic_big()).into(holder.img);
holder.tv.setText(list.get(position).getTitle());
}
@Override
public int getItemCount() {
return list.size();
}
}