RecyclerView和CheckBox结合使用

2018-07-08  本文已影响59人  四喜汤圆

问题

今天用recyclerview时候发现checkbox重复使用会导致OnCheckedChangeListener 出现一个不太友好的问题,问题是这样的:
Recyclerview 会回收使用组件,回收checkbox的时候会触发OnCheckedChangeListener 事件,导致我们写的listener中的逻辑会被打乱
如我选中了一个checkbox,那么当view滚动导致这个checkbox 滑动出可视范围的时候 ,OnCheckedChangeListener事件会被触发,这样相当于自动把我选中的取消了。

解决方案

RecyclerView中使用checkbox的点击事件处理,不要利用oncheckdChangeLishener来处理了,在每次onBindViewHolder对checkbox赋值时都会去调用该方法,造成checkbox状态不对,解决办法是给checkbox添加setOnClickListener来替代处理,实践证明该方法是正确的

参考文献

RecyclerView中使用checkbox遇到的问题

上一篇下一篇

猜你喜欢

热点阅读