美文网首页
.v7.widget.util.SortedListAdapte

.v7.widget.util.SortedListAdapte

作者: Mr丶陈 | 来源:发表于2017-02-03 13:21 被阅读0次

    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。

    相关文章

      网友评论

          本文标题:.v7.widget.util.SortedListAdapte

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