我正在尝试创建一个 ListView ,它根据微调器的选择显示不同的数据。
我的 ListView 是通过一个工作正常的基本适配器实现的。
我的数据存储在一个对象数组列表中,每个对象包含存储单个数据的字段,并根据微调器的选择过滤存储在数组列表中的数据并将其显示在 ListView 中。
但我的问题是如何在不清除其基础数据(存储在数组列表中)和调用 notifyDataSetChanged 的情况下清除 ListView 内容?我希望能够保留存储的数据,这样如果用户返回到之前的选择,数据仍然存在。
感谢您花时间阅读本文。
最佳答案
由于您的数据存储在 ArrayList
中,您可以简单地使用:
listView.setAdapter(null);
它将删除您的 ListView
的适配器,因此删除所有显示的项目。
数据仍将在您的 ArrayList
中,因此如果您想重新显示此 ListView
,您只需重新创建您的 Adapter
并重新设置。您甚至可以创建 BaseAdapter
的全局实例,这样您只需创建一次。
关于java - Android:如何在不从数组列表中删除数据的情况下清除 ListView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24514886/