1、方法一
listView.setAdapter(null);//清空之后,新数据貌似加不进来了。
2、方法二:
listAdapter.clear();
//没有clear方法需要在adapter容器中定义
//清空数据列表
public void clear() {
mContactsList.clear();
notifyDataSetChanged();
}
PS:尝试了很多其它方法都不行,方法二可行。
adapter.getCount();可以获取到容器中填充了多少东西。如果listview本身就是循环填充进去的,在外面用:
int size=listmap.size();
if(size>0){
listmap.removeAll(listmap);
adapter.notifyDataSetChanged();
listView.setAdapter(adapter);
}
这种方法是不行的;
但是listview只是一次加载时可以使用的,因为listmap就是标记最后一次填充的数据;还有removeallviews也是不行,清空之后不能再填充了。
本文介绍了两种有效清除Android ListView数据的方法。方法一通过设置adapter为空实现,但会导致数据无法重新加载。方法二推荐使用adapter的clear方法,清空数据后再调用notifyDataSetChanged更新视图,适用于ListView动态数据变化场景。
7391

被折叠的 条评论
为什么被折叠?



