如何在android中隐藏listview的项目

时间:2014-06-23 12:26:33

标签: android listview

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

例如:如果列表中有10个项目,其中项目1,5,7,8属于第1类别,其余属于第2类别,现在如果用户按第1类别按钮,则列表视图显示项目仅属于第一类。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

如果您希望能够在ListView中过滤(隐藏/显示)项目,则可以使用适配器,例如通过创建自己的BaseAdapter实现。此适配器具有排序,清除和添加元素到ListView使用的数据集的方法,如this list tutorial中所述。只需记住在更改数据集以刷新notifyDataSetChanged()后调用ListView

设置示例:

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();

答案 2 :(得分:0)

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