ListView上的操作与适配器

时间:2015-12-28 13:35:26

标签: android listview

我有一个带有ListView和适配器的Activity。 ListView中的每一行都包含一个EditText和一个CheckBox。这个ListView有两个问题: 第一:更改设备方向或按主页按钮后保存已选中复选框的最佳方法是什么? 第二:我实现了删除所选行的功能。当我点击复选框并按下“删除按钮”时,我在我的适配器上调用notifyDataSetChanged,一切正常,但如果选中的行不是我列表中的最后一行,那么在删除字段后的所有操作第一个字段都会被检查。为什么呢?

2 个答案:

答案 0 :(得分:0)

listview一直在回收视图。这意味着删除字段后面的字段中的复选框是已删除字段中的SAME复选框。这就是它被检查的原因。

解决方案是将已检查状态始终存储在视图外部的活动中。最简单的方法可能是布尔值的一些关键点。

答案 1 :(得分:0)

试试这个..

从列表项创建模型并将已检查和未检查的值存储到一个变量,并且还必须使用getTag()和setTag()方法。