gpt4 book ai didi

Android RecyclerView 适配器项目刷新

转载 作者:太空狗 更新时间:2023-10-29 14:03:04 25 4
gpt4 key购买 nike

我在使用 RecyclerView 和 RecyclerView.Adapter 时遇到问题。我得到了一个将项目列表设置到适配器中的函数。当用户滑动刷新时,我加载新数据,这意味着一些项目是新的,然后我将这些项目设置到适配器中,我必须使它们无效。我的问题是 notifyItemRangeInserted()notifyItemRangeChanged()。当新项目出现时,如果我先删除它们,然后 notifyItemRangeRemoved(),然后添加并最后调用 notifyItemRangeInserted() 它会起作用,但所有项目都无效并且闪烁.否则,如果我确定新旧数据集之间的大小差异,它不会使适当的元素无效。

public void setItems(@NonNull List<ItemType> items) {
final int oldSize = mItems.size();
mItems.clear();
notifyItemRangeRemoved(firstPosition(), oldSize);
mItems.addAll(items);
notifyItemRangeInserted(firstPosition(), items.size());
}

mItems 是 ArrayList。

最佳答案

你能试试这个吗?

myRecycleAdapter.notifyItemInserted(items.size());

您的方法如下所示:

public void setItems(@NonNull List<ItemType> items) {
mItems.clear();
mItems.addAll(items);
myRecycleAdapter.notifyItemInserted(items.size());

希望对您有所帮助。

关于Android RecyclerView 适配器项目刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34334630/

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