.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。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容