使用多项选择列表视图进行搜索(如何保持已检查项目的状态?)

时间:2012-04-01 06:23:02

标签: android listview search

我有多个项目的多选列表视图。用户应通过检查选择一些项目。我在这个ListView上也有一个搜索选项卡。当用户开始搜索某些内容时,先前在原始ListView上选择的项目将消失。当我搜索某些内容时,如何保存已检查项目的状态?

2 个答案:

答案 0 :(得分:1)

如果您使用的是custoAdapter,则为每行保留一个标志,无论是否选中。 如果在你的getView()方法中选中它,只需检查那个标志变量,然后在你的新搜索列表中显示seaarch结果以及之前选择的项目

答案 1 :(得分:0)

您可以使用SharedPreferences,它将存储您发送给它的变量。它也会在各个会话中持续存在。如果您想要一个更简单的更临时的解决方案,您只需为每个选中的项创建一个字段布尔变量。当用户在onCheckedListener中检查项目时:

    isItem1Checked = item1.isChecked();

为每个项目执行此操作以保存其状态。然后当你加载列表时为每个项目运行它:

    item1.setChecked(isItem1Checked);

如果你想使用SharedPreferences,除了你必须保存到SharedPreferences文件并从中抓取之外,它是类似的。

有关共享偏好设置的详情,请查看此处:http://developer.android.com/guide/topics/data/data-storage.html#pref