1.SortedList的创建
sortedList 相当于一个数据源
SortedList<String> sortedList = new SortedList<String>(String.class, new SortedListAdapterCallback<String>(this) {
//用于排序,大于0升序,小于0降序,等于0不变
@Override
public int compare(String o1, String o2) {
return 0;
}
// 比较两个Item的内容是否一致,如不一致则会调用adapter的notifyItemChanged()
@Override
public boolean areContentsTheSame(String oldItem, String newItem) {
return false;
}
// 两个Item是不是同一个,这里用的是string应该会返回true,如果用的是其他的对象,可以用他们的id,或者其他的字段进行比较是否一样
@Override
public boolean areItemsTheSame(String item1, String item2) {
return false;
}
});
2.批量更新和删除
//调用beginBatchedUpdates()之后,所有的对SortedList操作都会等到
//endBatchedUpdates()之后一起生效。
sortedList.beginBatchedUpdates(); // 开始批量更新
sortedList.addAll(items); // 更新一批数据
sortedList.endBatchedUpdates(); // 结束更新
sortedList.beginBatchedUpdates(); // 开始批量更新
for(Item item : sortedList){ // 删除一批数据
mData.remove(item);
}
sortedList.endBatchedUpdates(); // 结束更新