【问题标题】:Kotlin - PagaingDataAdapter; Remove Item at positionKotlin - PagaingDataAdapter;删除位置的项目
【发布时间】:2021-04-10 13:34:37
【问题描述】:

在我的应用中,我目前正在使用改造并根据用户的搜索查询获取电影列表。从那里,用户可以从出现的列表中滑动电影以将其添加到他们的监视列表中。我使用普通的 RecyclerView 并使用了 ArrayList,但由于尝试迁移到分页库,我一直在努力寻找一种干净且简单的方法来做到这一点。

对于正常的回收器视图,代码基本上只是:

searchAdapter.removeAt(viewHolder.bindingAdapterPosition)

对于 PagingDataAdapter 是否有某种类似的方法可以做到这一点?就像我可以插入一个快速函数然后调用 onSwiped 方法一样?这个想法是能够将它从搜索列表中滑出,因为它现在在监视列表中,用户不再需要看到它。感谢您的帮助。

【问题讨论】:

  • pagingDataAdapter 数据是不可变的。您将不得不在其上应用您的新列表。为了性能,实现 DiffUtil 以便分页列表不会重绘行。

标签: android kotlin retrofit retrofit2 android-paging


【解决方案1】:

使用 Paging 时,您基本上将 RV 的项目添加/删除委托给库,因此手动执行此操作会导致某些事情中断,并且不会通过失效、刷新等进行。

相反,您应该将从网络获取的数据缓存到 Room 等位置,然后从 DB 中删除该行,依靠失效来显示 RV 中的项目删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    相关资源
    最近更新 更多