美文网首页Android开发经验谈
Android关于Adapter更新数据问题案例

Android关于Adapter更新数据问题案例

作者: Lostoy007 | 来源:发表于2016-12-21 15:33 被阅读107次

adapter更新数据的常见两种方式:

一、adapter里面new一个集合,对外只提供添加数据和更新数据的方法

MyAdapter extends BaseAdapter {

ArrayList<T> mItemList = new ArrayList<T>();

     public MyAdapter(){}

     public void updateData(List<T> list) {

           if(null == list) return;

mitemlist.clear();

mitemlist.addAll(list);

notifyDataSetChanged();

}

public void addItem(T data) {

mitemlist.add(data);

}

public void addData(List<T> list) {

if(null == list) return;

mitemlist.addAll(list);

}

}

二、通过构造方法从外面传入,更新数据的时候只需在外面集合更新,然后调用adapter.notifyDataSetChanged()方法即可。

注意:两种最好别混用,否则很容易出bug,比如,从外部集合给adapter提供数据集合,但同时又提供以上的updateData()方式更新数据,如果把外部提供给adapter的数据集合传入updateData()因为updateData()会先clear,然后再add,这样就会导致外部数据集合和adapter数据集合(实际上这两种是同一个集合)都被清空。

相关文章

网友评论

    本文标题:Android关于Adapter更新数据问题案例

    本文链接:https://www.haomeiwen.com/subject/iuuqvttx.html