我正在尝试开发一个应用程序,其中我需要创建一个包含许多项目的列表。 还有一些按钮代表类别,我想根据类别填充我的列表。
例如:如果列表中有10个项目,其中项目1,5,7,8属于第1类别,其余属于第2类别,现在如果用户按第1类别按钮,则列表视图显示项目仅属于第一类。
我该怎么做?
答案 0 :(得分:2)
我认为ExpandableListView会对你有用。请参阅本教程:http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/
答案 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()设置为适配器