gpt4 book ai didi

android - RecyclerView notifyItemRemoved(位置)无法正常工作

转载 作者:行者123 更新时间:2023-12-03 13:51:51 32 4
gpt4 key购买 nike

我有一个 RecyclerView及其RecyclerView.Adapter和 View 持有人。我正在尝试从列表中删除一个项目,代码如下 onClick()在 ViewHolder 中的删除按钮上

int position = getAdapterPosition();  
if(position > -1)
{
Place place = placeList.remove(position);
notifyItemRemoved(position);
notifyItemRangeChanged(position, getItemCount());
}

尽管删除了 View 并执行了动画(列表也会受到影响),但旧 View (或较低的 View )仍然存在或再次绘制。
例如,如果列表以 size = 5 开头,那么我尝试删除索引 4,他删除 4,然后仍然绘制 5 个 View 。

编辑

如果我删除 notifyItemRangeChanged()那么只有当我执行以下操作时它才会出现该错误

1-点击删除

2-单击按钮非常快速,将我带到新 View

3-回到我可以删除的列表

4-开始删除,并且发生错误。即使 List 仍然存在 1 项size = 0(使用 0 调用 getItemCount)。

如果我只调用 NotifyDataSetChanged(),那么它会删除项目,但 View 只是停留在那里!

任何帮助或建议表示赞赏。

谢谢。

编辑 完整类(class) LINK

最佳答案

试试这个:

placeList.remove(position);
notifyItemRemoved(position);

关于android - RecyclerView notifyItemRemoved(位置)无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43230977/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com