我有一个Android ListView,其行包含一个复选框,每行四个文本视图。这是一个多选列表视图。默认情况下,列表视图以已经检查的一些行开始。您可以选中或取消选中任何一行。当用户单击行(而不是复选框)时,所有行的复选框都会恢复为默认值。安卓ListView行复选框被清除回列表项的默认值单击
- 这是怎么发生的?
- 我该如何阻止它?
UPDATE
我使用的是默认ListView
与SimpleAdapter
和ArrayList<String, Object>
我有一个Android ListView,其行包含一个复选框,每行四个文本视图。这是一个多选列表视图。默认情况下,列表视图以已经检查的一些行开始。您可以选中或取消选中任何一行。当用户单击行(而不是复选框)时,所有行的复选框都会恢复为默认值。安卓ListView行复选框被清除回列表项的默认值单击
UPDATE
我使用的是默认ListView
与SimpleAdapter
和ArrayList<String, Object>
所以我的代码玩弄后,我有什么造成的默认值恢复的一个想法,如何阻止它。
由于项目正在重新绘制,因此发布了默认值恢复。由于点击突出显示,并且(de)激活列表项目,所以发生了重新绘制。为什么碰巧所有列表项都超出了我的范围,但是这导致列表视图使用它们的默认值重新绘制它们。
这意味着要阻止这种情况发生,我应该修改源列表被点击时(或“未选中”,如果它已被选中)“选择”。然后当重新绘制时,复选框将被适当地检查(或未选中)。
我认为,如果你可以使用CheckedTextview而不是复选框,它会保持它的选中或取消选中状态,使用复选框,我们需要编写代码,保持选中/取消选中状态