andoid-解决RecyclerView+CheckBox选中混乱的问题

使用RecyclerView + Checkbox的时候,发生了checkbox状态错乱的问题
复用了checkbox的监听
在每个holder设置时
多添加一句 holder.checkbox.setOnCheckedChangeListener(null);//清掉监听器
@Override
63 public void onBindViewHolder(@NonNull MyAdapter.MyViewHolder holder, final int position) {
64 holder.textView.setText(listData.get(position));
65 holder.checkbox.setOnCheckedChangeListener(null);//清掉监听器
66 holder.checkbox.setChecked(checkStatus.get(position));//设置选中状态
67 holder.checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {//再设置监听器
68 @Override
69 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
70 checkStatus.put(position, isChecked);//check状态一旦改变,保存的check值也要发生相应的变化
71 }
72 });
73 }

发布了4 篇原创文章 · 获赞 1 · 访问量 579

猜你喜欢

转载自blog.csdn.net/qq_42735079/article/details/85328074