滚动列表时自定义Listview包含包含复选框的项目

时间:2012-05-04 09:11:18

标签: android listview checkbox scroll

我的自定义Listview有问题,每个项目有2个TextViews和一个CheckBox,问题是在滚动Listview时,检查的项目随机取消选中,反之亦然,任何人都可以帮助定义一个自定义的适配器来解决这个问题问题,我会非常感激

2 个答案:

答案 0 :(得分:0)

检查您是否正确回收convertView中的getView参数。

如果视图已被使用,请确保选中状态符合所代表的新项目。

答案 1 :(得分:0)

我有同样的问题,我解决了如下:

我有一个布尔变量 isCheckedByUser 。在适配器中,每次我使用复选框执行某些操作时,我首先将此变量设置为false,使用复选框执行所有操作,然后再将变量设置为true。然后,在 onCheckedChanged 方法中,我检查此变量是否为真,如果是,则表示用户想要修改状态,因此我会使用复选框执行任何操作。

事实上,这个问题并非如此“随机”。列表视图重用单元格,这就是为什么你似乎随机取消选中复选框。