直接贴代码,使用方便
/**
* 描述:recyclerview的adapter的封装
* 作者:zzh
* time:2019/05/06
*/
public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<BaseRecyclerAdapter.BaseViewHolder> {
private List<T> mDatas;//数据集合
private Context mContext;//上下文
private final int mItenId;
private OnItemClickListner onItemClickListner;//单击事件
protected BaseRecyclerAdapter(List<T> mDatas, int itemId) {
this.mDatas = mDatas;
this.mItenId = itemId;
setHasStableIds(true);
}
@Override
public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
mContext = parent.getContext();
View view = LayoutInflater.from(mContext).inflate(mItenId, parent, false);
final BaseViewHolder baseViewHolder = new BaseViewHolder(view);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onItemClickListner != null)
onItemClickListner.onItemClickListner(v, baseViewHolder.getLayoutPosition());
}
});
return baseViewHolder;
}
@Override
public void onBindViewHolder(BaseRecyclerAdapter.BaseViewHolder holder, final int position) {
T t = mDatas.get(position);
bindData(holder, position, t);
}
@Override
public int getItemCount() {
return mDatas == null ? 0 : mDatas.size();
}
/**
* 刷新数据
*
* @param datas
*/
public void ref