首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >recyclerView in loop bugs的notifyItemRemoved?

recyclerView in loop bugs的notifyItemRemoved?
EN

Stack Overflow用户
提问于 2016-09-08 18:37:29
回答 1查看 539关注 0票数 0

当我在RecyclerView中删除一些项目,但它涉及到一个错误,错误很难发生,但它有时会发生。有时项目不会删除,但仍会显示在recyclerView中,并且不能永远删除。下面是我的代码:

代码语言:javascript
复制
//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++;
}

而且我的英语很差,希望你能理解。有谁可以帮我?非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2017-03-15 00:56:41

如果你想用in循环从回收器视图中删除项目,那么试试这个

代码语言:javascript
复制
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不同的内容,这会有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39388736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档