在一些和我一样的Android初级开发者会遇到一个不是很好解决的问题,当我们对这个list进行添加和删除的时候通常listView列表并未刷新,很多人会和我一开始一样,重新创建一个adapter对象,MyAdapter adapter = new MyAdapter(this,list);重新传进去一个list,然后重新setAdapter: listView.setAdapter(adapter);这样虽然也可以实现属性adapter的功能,但是我们要在很多地方对列表进行添加和删除操作,偶尔会很难获得当前list而且代码显得很笨重,所以我和大家分享并且用我自己的语言最简单的描述实时刷新adapter的方法。
1.首先在MyAdapter中引入notifyDataSetChanged方法:
@Override
public void notifyDataSetChanged() {
// TODO Auto-generated method stub
super.notifyDataSetChanged();
}
2.自己写一个void方法refresh(List<String> list):
public void refresh(List<String> list){
this.list = list;
notifyDataSetChanged();
}
3.在activity或者view中调用refresh(list)来刷新list,这样在你添加和删除列表元素的时候就可以实时刷新Adapter了。