由于RecyclerView 与ListView 都使用了复用技术,所以会出现滚动后出现CheckBox选中混乱或者是Item的背景混乱问题。
解决办法:
1.在onBindViewHolder(...) 方法中添加下面代码
ViewHolder.setIsRecyclable(false);
这里直接关闭掉RecyclerView的复用功能,这是不推荐的,通过网上的资料知道,这种方式会使RecyclerView滚动出现卡顿。
2.在OnBindViewHolder(...)方法中添加
通过一个List来辅助保存CheckBox的选中状态,把选中的checkBox的position放到List中,在初始化CheckBox的时候来重新设置checkBox的选中状态。在checkBox的CheckedChangedListener 来添加 或者删除 List中保存的选中状态。
文/鉨廎(简书作者)
原文链接:http://www.jianshu.com/p/4fcacd1082db
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
转载地址:
http://www.jianshu.com/p/4fcacd1082db
还可参考另篇文章:
http://blog.csdn.net/u011164565/article/details/52096716