在recyclerView的列表中使用checkBox当选中后由于复用问题会导致本来没选中的也处展示的为选中解决方案
1.使用bean类将setOnCheckedChangeListener中的状态bean类同步
2.在每次设置checkbox是否选中的时候先把setOnCheckedChangeListener置为null。
代码示例
hodler.checkBox.setOnCheckedChangeListener(null);
hodler.checkBox.setChecked(listBean.isCheck());
hodler.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
listBean.setCheck(true);
} else {
listBean.setCheck(false);
}
}
});
网友评论