【发布时间】:2016-06-08 01:24:10
【问题描述】:
我正在创建一个应用程序,其中用户可以在 PreferencesActivity 中设置一些首选项,然后我得到一个带有 ListView 的片段,应该根据用户选择的内容进行过滤。我已经有一个Filter,它使用用户文本输入过滤列表,但我不确定如何根据PreferencesActivity 中的偏好进行过滤。
表示单个列表项的数据类如下所示:
public class MyData
{
private ArrayList<SomeEnumType> enumListMember;
private String forRegularStringFilter;
...
}
public enum SomeEnumType
{
VAL1,
VAL2,
VAL3
}
用户在首选项中看到的是带有条目 VAL1、VAL2、VAL3 的 MultiSelectListPreference,并且用户可以选择其中的几个。在用户完成他的选择后,列表应该只显示其enumListMember 包含用户选择的所有枚举值的项目。例如,类的列表可以包含 VAL1 和 VAL3,因此如果用户选择 VAL3,则应该显示该项目。如果他选择VAL2,应该是过滤掉的。
如何以及在哪里进行这种过滤?在适配器的getView?别的地方?
【问题讨论】:
标签: android listview android-filter