繁体   English   中英

筛选不同活动中的列表

[英]Filtering a list in different activities

我有一个应用程序,其中主要活动会生成一个列表,并且在主要活动中有许多选项卡可以过滤列表并在带有复选框的自定义ListView中列出整个列表的子集。

我在每个选项卡中都有适配器,并在各种onCreate()中运行线程,这些线程过滤主列表并将相关子集添加到其自己的适配器中。 每次使用复选框时,我都会将复选框状态保存到SharedPreferences中。

我在同步各个ListActivities中的复选框时遇到问题。 当我在1 ListActivity中选中一个框并切换到另一个选项卡时,它不会在那里更新。 仅当我退出该应用程序并重新启动它时,主活动才会重新生成该列表,读取SharedPreferences并更新所有复选框。

我如何立即完成此操作,以便始终使各个选项卡的各个ListActivity同步?

谢谢。

我宁愿建议您在适配器上使用过滤器(即实现自己的从复选框选择中读取的过滤器)。 有这么多线程是:a)程序员感到困惑; b)同步问题的来源。 每个ArrayAdapter都实现Filterable接口,您可以重写getFilter()方法以返回自己的过滤器。 在此过滤器中,您可以根据需要过滤出元素。 我认为这篇文章应该对您有所帮助: 如何使用ArrayAdapter为ListView编写自定义过滤器 您可能需要阅读实现的每个过滤器中的设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM