1、获取位置
int position = helper.getAdapterPosition();
2、BaseQuickAdapter复用错乱
1)、禁止复用(不太好)
item设值:item.setSelected(isChecked);
helper.setIsRecyclable(false);
https://blog.csdn.net/tdltdltdl886/article/details/88979775
2)、
getData().get(helper.getAdapterPosition()).setSelected(isChecked);
替换掉
item.setSelected(isChecked);
3)、推荐(加个清除监听器)
https://www.jianshu.com/p/7188078e5bbf?from=singlemessage
在recyclerView里的,checkBox是复用状态的,所以每次使用都要清空下监听器,不然就会出问题
holder.cb.setOnCheckedChangeListener(null);
ckEdit.setOnCheckedChangeListener(null); ckEdit.setChecked(item.isSelected()); ckEdit.setOnCheckedChangeListener((buttonView, isChecked) -> { item.setSelected(isChecked); onCheckListener.onchecked(); });