繁体   English   中英

从 RecyclerView 中删除最后一项不起作用

[英]Deleting last item from RecyclerView does not work

我有一个回收站视图

用户可以在RecyclerView中删除或添加项目。

一切正常,直到RecyclerView达到 1 个元素。

当我需要删除最后一项时,它不会被删除。 日志显示该项目已从ArrayList中删除,但仍显示在RecyclerView中。

删除最后一项时是否需要更多内容?

代码:

public void removeItem(int adapterPosition){
       arrayList.remove(adapterPosition);
       Log.. ///
}

adapterPosition为 0 时,它不会移除该项目。

我什至在方法中保留了一个断点,它仍然显示adapterPosition为0。

您需要调用notifyItemRemoved以通知RecyclerView该项目已被删除。 这对于每次删除/删除都是必要的,而不仅仅是最后一个,但如果你不这样做,它有时可能会巧合地起作用。

也就是说,您的removeItem方法(假设它在您的Adapter上)应该如下所示:

public void removeItem(int adapterPosition){
    arrayList.remove(adapterPosition);
    notifyItemRemoved(adapterPosition);
    Log.. ///
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM