【问题标题】:Firestore Document Order | - Causing item sequence issue in RecyclerView |Firestore 文件订单 | - 导致 RecyclerView 中的项目序列问题 |
【发布时间】:2021-01-31 19:07:46
【问题描述】:

我正在开发一个 ChatApp。我将消息存储在 Firestore 中。最终发生的是 firestore 正在保存这些消息(作为文档)并以随机顺序添加这些文档。

我看到了有关为什么 recyclerview 项目没有按顺序显示的问题。问题不在于recyclerview。问题是文件在 firestore 中的顺序是什么 - recyclerview 将按该顺序显示项目。

在 Firestore 中,文档是随机添加的,假设我先发送了一条消息 A,然后是 B 和 C,firetore 不是一个接一个地添加这些文档,而是随机添加这些文档,有时在中间,有时在顶部,有时在底部。

这个问题导致我的 recyclerview 以随机顺序显示项目。我可以肯定地说问题一定出在 firestore 文档顺序的原因是因为我登录并看到了列表 - 它以与 firestore 文档相同的顺序显示其中的数据。

我希望 recyclerview 显示最新项目(最新消息,它不应该只是在消息上方的任何地方消失)。

在第一张图片中我发送了一条消息“3”,我发送的下一条消息是“4”

但它不是在上一条消息之下而是在任意位置随机添加下一条消息

【问题讨论】:

    标签: firebase android-recyclerview google-cloud-firestore


    【解决方案1】:

    添加文档时,它会根据文档 ID 的第一个字符special char(limited) 自动按默认顺序排序数字,接下来是大写字母,然后是小写字母NOT,来自其字段

    您仍然可以使用控制台中的过滤器或添加此查询按字段对其进行排序:

    .collection("text").orderBy("message", "asc")`
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      相关资源
      最近更新 更多