BaseQuickAdapter+checkbox状态混乱的解决办法

项目需要:条目上有checkbox,项目用的是BaseQuickAdapter

解决办法1:

在自己的BaseQuickAdapter里面重写

    @Override
    public int getItemViewType(int position) {
       return position;
    }

可以解决复用引起的条目状态错乱;有个问题,如果添加header或者footer;会报角标越界(如有大佬知道解决办法,望指点,谢谢!)

解决办法2:

在自己Bean里写个boolean字段用于记录勾选状态,

CheckBox cb=helper.getView(R.id.cb_case);
cb.setOnCheckedChangeListener(null);//重要,用于清空监听器
cb.setChecked(item.isSeriesChecked());
    helper.setOnCheckedChangeListener(R.id.cb_case, new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
     
          item.setSeriesChecked(isChecked);
          if(isChecked){
                LogUtil.e("选中了"+helper.getPosition());
              

            }else{
                LogUtil.e("取消了"+helper.getPosition());
               
            }
        }
    });

 

你可能感兴趣的:(BaseQuickAdapter+checkbox状态混乱的解决办法)