最近,做了个自己的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
最新推荐文章于 2024-04-28 08:42:25 发布