避免 ListView 的 控件重用机制 导致视图/数据混乱

ListView的控件重用机制可能导致视图与数据混乱,特别是当触发器指向的数据项错误时。错误案例展示了ExpandableListView中,点击子项checkBox改变父项Button内容所引发的问题。解决方案包括:每次新建控件视图,但会导致资源浪费;或者在点击事件中仅更改数据结构并通知刷新;如果避免使用`notifyDataSetChanged()`,则可以通过获取当前绑定的控件来更新状态。
摘要由CSDN通过智能技术生成

控件视图重用,就是当convertView不为空的时候直接重新使用convertView从而减少了很多不必要的View的创建,然后加载数据当列表往上下拖时,那些被拖出屏幕外的控件会重用。当触发器被触发时,触发该控件的OnCheckedChanged处理程序,而这个处理程序指向的数据项是前一次绑定的btnListbutton的数据,这样就可能导致视图混乱

【错误案例】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值