上一篇讲述了recyclerview实现瀑布流,而在本篇中将讲述recycler view实现上下拉刷新。(附加嵌套checkbox错乱问题的解决)
代码中添加了较为详细的注释,就不多说了,直接贴代码。
代码如下:
首先,先贴出Adapter中的代码。
package com.example.cn.bgs.swiprecycleviewdemo;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ProgressBar;
import android.widget.TextView;
public class MyAdapter extends RecyclerView.Adapter<ViewHolder> {
private Context context;
private List<String> list;
// 加载的状态
private int loadState = LOADING;
// 两种view的类型
private static final int ITEM_VIEW = 1;
private static final int FOOTER_VIEW = 2;
// 底部视图的两种方式-加载更多 和 没有更多数据了
private static final int LOADING = 3;
private static final int NO_MORE = 4;
private boolean isChecked;
private Map<Integer,Boolean> map=new HashMap<Integer,Boolean>();
public MyAdapter(Context context, List<String> list) {
this.context = context;
this.list = list;
}
/*
* 获得相应位置视图的类型
*/
@Override
public int getItemViewType(int position) {
// TODO Auto-genera