大家在使用RecycleView的时候回遇见2层RecycleView使用,3层等等
使用2层之后,需要刷新父层RecycleView而不刷新子层RecycleView的时候,就可以用一下方法
简单的购物车系统,商家的多个商品,批量筛选商家前缀等等,刷新第一次recycleview状态,不用刷新第二层,
1.使用万能适配器
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.34'
2.adapter
extends BaseQuickAdapter<DataBean, BaseViewHolder> {
3.使用方法,只刷新状态或者背景
/**
* 刷新控件 不刷新数据的方法 必须丢一个数据进来
* @param helper
* @param position
* @param payloads
*/
@Override
public void onBindViewHolder(@NonNull BaseViewHolder helper, int position, @NonNull List<Object> payloads) {
if(payloads == null || payloads.isEmpty()){
super.onBindViewHolder(helper, position, payloads);
}else{
if (positions == helper.getAdapterPosition()) {
helper.setBackgroundRes(R.id.linearLayout, R.drawable.btn_red)
.setVisible(R.id.checkbox, true);
} else {
helper.setBackgroundRes(R.id.linearLayout, R.drawable.btn_white)
.setGone(R.id.checkbox, false);
}
}
}
4.数据集合
adapter.replaceData(List);
简单操作,万能适配器的有点。