当我在RecyclerView中删除一些项目,但它涉及到一个错误,错误很难发生,但它有时会发生。有时项目不会删除,但仍会显示在recyclerView中,并且不能永远删除。下面是我的代码:
//the positions is a collection,which collect my item positions that should be removed.
int realPosition;
int temp = 0;
for (int i = 0; i < positions.size(); i++) {
realPosition = positions.get(i) - temp;
getAdapter().remove(realPosition);
getAdapter().notifyItemRemoved(realPosition);
temp++;
}而且我的英语很差,希望你能理解。有谁可以帮我?非常感谢。
发布于 2017-03-15 00:56:41
如果你想用in循环从回收器视图中删除项目,那么试试这个
int realPosition;
int temp = 0;
for (int i = 0; i < positions.size(); i++) {
realPosition = positions.get(i) - temp;
getAdapter().remove(realPosition);
temp++;
}
getAdapter().notifyDataSetChanged();代码的问题在于,每次循环运行时,recyclerView的位置都会更新,因此notifyItemRemoved(realPosition)会删除与实际want....Hope不同的内容,这会有所帮助
https://stackoverflow.com/questions/39388736
复制相似问题