Android ListView行复选框在列表项单击时被清除回默认值

时间:2011-12-12 23:06:01

标签: android android-listview

我有一个Android ListView,其行包含一个复选框,每行有四个文本视图。这是一个多选列表视图。默认情况下,列表视图以已检查的某些行开头。您可以选中或取消选中任何行。当用户单击该行(而不是复选框)时,所有行都会将其复选框恢复为默认值。

  1. 为什么会这样?
  2. 如何阻止它?
  3. 更新

    我使用默认ListViewSimpleAdapterArrayList<String, Object>

2 个答案:

答案 0 :(得分:0)

因此,在使用我的代码之后,我知道导致默认值恢复的原因以及如何停止它。

发布了默认值恢复,因为项目正在重新绘制。由于点击突出显示,并且(de)激活列表项,因此重新绘制。为什么它发生在所有列表项之外是超出我的,但这导致列表视图使用其默认值重新绘制它们。

这意味着要阻止这种情况发生,我应该修改源列表,使其在单击时被“选中”(如果已经选中,则“未选中”)。然后,当重新绘制时,将适当地选中(或取消选中)复选框。

答案 1 :(得分:0)

我认为如果您可以使用CheckedTextview而不是Checkbox,它将保持其已选中或未选中状态,使用Checkbox我们需要编写代码以保持已选中/未选中状态