最近,做了个自己的adapter类,但是碰到了个头痛的问题,假如ListView,分成2页(或者设置数据可以纵向拉,可隐藏),每页3条数据,每个Listview的Item 里面有个checkBox,现在,当我选择第一页的前两天数据,翻到第二页,竟然第二页后两条数据也选中了,这是绝对不允许的。经过本人的N次调试,发现public View getView(int position, View convertView, ViewGroup parent)传进来的convertView 竟然产生多次重用。解决方案:当选中checkedBox时候,我们用一个List来保存该checkBox的position。然后在每次产生View时取得传来的convertView赋值为null,再遍历List里保存的checkBox的位置,当在数组内时,checkBox置为选中,问题解决了。不过在网上找了很多资料,还是没找到最佳答案。个人认为这不是最好的解决方案,因为不重用convertView会产生很多垃圾对象,还得继续深入。
android listview checkbox
最新推荐文章于 2021-05-27 02:30:23 发布
解决ListView中CheckBox重复选中问题,通过记录位置避免convertView重用导致的数据错误。
163

被折叠的 条评论
为什么被折叠?



