gpt4 book ai didi

android - 从 arraylist 中删除数据时,Recyclerview 没有正确更新行?

转载 作者:行者123 更新时间:2023-11-29 19:30:29 25 4
gpt4 key购买 nike

我的 RecyclerView单击删除时包含文本和删除按钮,特定行将从 ArrayList 中删除

                pending.remove(p);// pending is arraylist

更新后RecyclerView通过调用 Adapter 中的这个函数

swap(pending);

public void swap(ArrayList<DownloadingActivity.scheduleListType> newList) {
if (pendingList != null) {
pendingList.clear();
pendingList.addAll(newList);
} else {
pendingList = newList;
}
notifyDataSetChanged();
}

但问题是从 ArrayList 中成功删除了正确的项目pending 但在 RecyclerView 上显示错误的更新。

如果我从数组列表中删除第二个项目pending 但在 RecyclerView 更新删除的项目是最后一个重新加载 Activity 时,RecyclerView 中的值显示正确

查了很多也没有找到解决的方法

最佳答案

代替使用 swap() 从数组列表中删除项目并将它们添加回不同的数组列表,我建议您使用 notifyItemRemoved在你的适配器中。因此,您的适配器将如下所示。

RecyclerViewAdapter.java :

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
DownloadingActivity.scheduleListType> p = pendingList.get(position);
//....
//....

holder.deleteBnt.setOnClickListner(new View.OnClickListener() {
@Override
public void onClick(View view) {
pendingList.remove(p);
notifyItemRemoved(position)
}
})
}

关于android - 从 arraylist 中删除数据时,Recyclerview 没有正确更新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40040743/

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