我的自定义Listview有问题,每个项目有2个TextViews和一个CheckBox,问题是在滚动Listview时,检查的项目随机取消选中,反之亦然,任何人都可以帮助定义一个自定义的适配器来解决这个问题问题,我会非常感激
答案 0 :(得分:0)
检查您是否正确回收convertView
中的getView
参数。
如果视图已被使用,请确保选中状态符合所代表的新项目。
答案 1 :(得分:0)
我有同样的问题,我解决了如下:
我有一个布尔变量 isCheckedByUser 。在适配器中,每次我使用复选框执行某些操作时,我首先将此变量设置为false,使用复选框执行所有操作,然后再将变量设置为true。然后,在 onCheckedChanged 方法中,我检查此变量是否为真,如果是,则表示用户想要修改状态,因此我会使用复选框执行任何操作。
事实上,这个问题并非如此“随机”。列表视图重用单元格,这就是为什么你似乎随机取消选中复选框。