.v7.widget.util.SortedListAdapterCallback

SortedListAdapterCallback

  搭配RecyclerView 数据源更新自动更新UI

SortedList  mDataList =new SortedList<>(Object.class,new ObjectListCallback (mAdapter));

实现SortedListAdapterCallback抽象类

static class ObjectListCallback extends SortedListAdapterCallback{

public ObjectListCallback (RecyclerView.Adapter adapter){ super(adapter); }

@Override

public int compare(Object o1, Object o2){  return0;}

@Override

public boolean areContentsTheSame(Object oldItem, Object newItem){  returnfalse;} //判断数据源item是否变化,如果变换则掉onChanged()函数

@Override

public boolean areItemsTheSame(Object item1, Object item2){ return 0} } //判断两个对象是否相同,去除重复

当数据有发生改变时,例如删除,增加等,你只需直接对mDataList进行相应操作,再无需关心mAdapter内数据显示更新问题,例如notifyDataChanged等通知函数的调用,因为SortedListAdapterCallback内的回调函数会自动帮你完成。

mDataList.beginBatchedUpdates();

mDataList.addAll(object);

mDataList.endBatchedUpdates();

这样就简单地完成了数据的加载,RecyclerView会自动刷新UI。

##局限性

SortedListAdapterCallback目前仅支持与RecyclerView Adapter搭配使用,并不支持ListView。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容