【问题标题】:Search with multiple choice listview (how to keep state of checked items?) [closed]使用多项选择列表视图搜索(如何保持选中项目的状态?)[关闭]
【发布时间】:2012-04-01 06:23:01
【问题描述】:

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

【问题讨论】:

    标签: android listview search


    【解决方案1】:

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

    【讨论】:

    • 非常感谢您的回复。我是android的新手。如何设置变量标志?
    【解决方案2】:

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

        isItem1Checked = item1.isChecked();
    

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

        item1.setChecked(isItem1Checked);
    

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

    查看更多关于共享首选项的信息:​​http://developer.android.com/guide/topics/data/data-storage.html#pref

    【讨论】:

    • 如果您使用共享首选项,如果假设您有一个包含大约 10000 个项目的列表并且所有项目都已检查,那么在共享首选项中您必须存储 10000 个值,这可能不是一个好的。 ..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多