如何在android中隐藏listview的项目

如何在android中隐藏listview的项目,android,listview,Android,Listview,我正在尝试开发一个应用程序,其中我需要创建一个包含许多项目的列表。 还有一些按钮表示类别,我想根据类别填充我的列表 例如:如果列表中有10个项目,其中项目1、5、7、8属于第一类,其余项目属于第二类,现在如果用户按第一类按钮,则listview仅显示属于第一类的项目 我怎么做呢?我想这对你有用。请参阅本教程:如果您希望能够在列表视图中筛选(隐藏/显示)项目,您可以使用适配器,例如通过创建自己的BaseAdapter实现。如中所述,此适配器具有排序、清除和向列表视图使用的数据集添加元素的方法。更改

我正在尝试开发一个应用程序,其中我需要创建一个包含许多项目的列表。 还有一些按钮表示类别,我想根据类别填充我的列表

例如:如果列表中有10个项目,其中项目1、5、7、8属于第一类,其余项目属于第二类,现在如果用户按第一类按钮,则listview仅显示属于第一类的项目


我怎么做呢?

我想这对你有用。请参阅本教程:

如果您希望能够在
列表视图中筛选(隐藏/显示)项目,您可以使用适配器,例如通过创建自己的
BaseAdapter
实现。如中所述,此适配器具有排序、清除和向
列表视图使用的数据集添加元素的方法。更改数据集以刷新
列表视图后,请记住调用
notifyDataSetChanged()

设置示例:

ListView list = (ListView)findViewById(R.id.list);
adapter = new MyAdapter(...); // Probably send along data
list.setAdapter(adapter);
adapter.notifyDataSetChanged();
过滤器示例:

int[] newData = { 1, 5, 7, 8 };
adapter.clear();
for(int i : newData)
    adapter.add(i);
adapter.notifyDataSetChanged();

在设置适配器之前,需要隐藏列表中的项(从列表中删除)。当列表准备就绪时,将notifyDataSetChanged()设置为适配器

使用ExpandableListView显示2级层次结构