Android RecyclerView中使用CheckBox复

2020-06-18  本文已影响0人  Lna_35da

在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);
                }

            }
        });
上一篇下一篇

猜你喜欢

热点阅读