如何清除(RecyclerView)SortedList?

时间:2015-04-23 18:58:08

标签: android android-recyclerview sortedlist

我有一个SortedList我用来表示我的数据用于回收者视图,但我正在努力清除"清除" API调用之间的数据。有帮助吗?我目前只是像这样循环浏览列表:

for(int i = 0; i < mList.size(); i++){
   removeItemAt(i);
}

这似乎不一致地删除了一些项目?

提前致谢! :)

2 个答案:

答案 0 :(得分:3)

如果查看source code,那么您正在做的问题是SortedList会在调用removeItemAt索引时更改大小。因此,当您的mList.size()循环迭代导致不一致的结果时for会发生变化。

以下是从recyclerview SortedList中删除项目的方法。

public void clear() {
     mList.beginBatchedUpdates();
     //remove items at index 0 so the remove callback will be batched
     while (mList.size() > 0) {
         mList.remove(mList.get(0));
     }
     mList.endBatchedUpdates();
}

答案 1 :(得分:2)

支持库的新版本有一个SortedList#clear()方法,您可以使用。