【问题标题】:How to remove item from Firestore Paging Adapter?如何从 Firestore 分页适配器中删除项目?
【发布时间】:2019-08-16 16:03:32
【问题描述】:

我正在使用 Firestore Paging Adapter 加载数据列表并将其显示在 RecyclerView 中。我在每个加载的项目上设置了 onClickListener,如果它被按下,我想从 RecyclerView 中删除它。我怎样才能做到这一点。 我得到了

的按下项
val pressedUserRealtion = getItem(adapterPosition)?.toObject(UserRelation::class.java)

我想从我的 RecyclerView 中删除这个项目。我搜索并找不到任何可以做到这一点的方法,我无法获得对包含已加载项目的列表的引用。我唯一能想到的就是在用户选择项目时将视图可见性设置为 GONE。

【问题讨论】:

  • 您想从数据库 UI 中删除该项目吗?还是仅来自 UI?
  • 好吧,我确实通过执行删除该文档并执行其他工作的云功能将其从数据库中删除。我知道如果添加、删除、更改了新数据,有 FirestoreRecyclerAdapter 会更新 recyclerView,但我想使用 FirestorePagingAdapter。根据文档:“FirestoreRecyclerAdapter — 将 Query 绑定到 RecyclerView 并响应所有实时事件,包括添加、删除、移动或更改的项目。最好用于小型结果集,因为所有结果都一次加载。”。我有数百行数据,所以我想使用 FirestorePagingAdapter
  • 您说“我确实通过执行云功能将其从数据库中删除”,所以不会也从 UI 中删除?
  • @AlexMamo 我认为 FirebaseUI 中的分页适配器不会自动更新,是吗?如果没有,则需要刷新页面。
  • @FrankvanPuffelen 哦,是的,你是对的,我错过了。实际上,我在一年前回答了类似的question :) 顺便说一句,我期待在马德里见到你。

标签: android firebase google-cloud-firestore firebaseui android-paging


【解决方案1】:

对于实时更新,您可以使用 FirestoreRecyclerAdapter

FirestoreRecyclerAdapter — 将 Query 绑定到 RecyclerView 和 响应所有实时事件,包括添加、删除项目、 移动,或改变。最好用于小型结果集,因为所有结果 立即加载

Documentation

【讨论】:

    猜你喜欢
    • 2020-07-27
    • 2017-09-06
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 2011-11-14
    相关资源
    最近更新 更多