RecyclerView复用的一些问题(Checkbox错乱)
来源:互联网 发布:淘宝网页布局工具 编辑:程序博客网 时间:2024/06/01 10:22
在 RecyclerView 中使用 CheckBox 时,滚动会导致CheckBox选中错乱而文字不会错乱?
因为文字是从数据源中拿出来的,而CheckBox的选中与否是没有数据源的,RecyclerView复用此item时,它会展示复用的item的所有属性,并根据数据源替换数据,既文字可以替换,而CheckBox继续沿用复用item的状态。
1.创建一个全局集合(保存checkbox状态的)
// 先给其默认值为falseprivate List<Boolean> booleans = new ArrayList<>();
2.onBindViewHolder()
@Override public void onBindViewHolder(ViewHolder holder, final int position) { CheckBox checkBox = holder.getView(R.id.rv_check_cb); // 先设置一次CheckBox的选中监听器,传入参数null,防止多次监听错乱 checkBox.setOnCheckedChangeListener(null); // 用集合中的值设置CheckBox的选中状态 checkBox.setChecked(booleans.get(position)); // 上面两步恢复了checkbox的状态,然后进行监听并更新checkbox状态 checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { booleans.set(position,b); } }); }
阅读全文
1 0
- RecyclerView复用的一些问题(Checkbox错乱)
- recyclerView的checkBox复用错乱问题解决方案
- RecyclerView与CheckBox结合使用错乱问题
- recyclerView列表使用Timer定时器复用错乱的问题
- Recyclerview中checkbox的复用问题
- 77ListView中item带有CheckBox复用缓存的问题(重点)(数据错乱)
- Checkbox复用导致错乱
- RecyclerView+checkbox滑动导致复用混乱问题的解决方案
- RecyclerView 复用与 CheckBox 结合使用导致的问题
- 关于ListView中checkBox错乱的问题
- ListView 数据错乱问题的解决(CheckBox)
- glmis项目工作日志4_解决RecyclerView中使用CheckBox时出现数据错乱的问题。
- ListView+CheckBox错乱问题
- Listview Checkbox错乱问题
- Listview Checkbox错乱问题
- RecyclerView中CheckBox复用问题
- RecyclerView解决CheckBox复用问题
- ListView复用导致checkBox错乱的解决方法
- mysql where和having区别
- IOS注意事项
- Linux下Kotlin的开发环境安装
- Ndk学习之JNI构造函数(java-->C-->Java)
- 第二阶段-tensorflow程序图文详解(二) Tensors
- RecyclerView复用的一些问题(Checkbox错乱)
- 关于Tiled2Unity导入关卡步骤
- CocosCreator的环境搭建连接android设备调试
- 自然数的和之和
- AndroidStudio如何添加依赖
- c# winform dataGridView 数据查询后不能刷新
- 第三章 Java基本程序设计结构(3)---数组
- 深入AOP开发的基石 java动态代理
- java设计模式--责任链(二)