如何将一组地图从 Firestore 映射到 recyclerView?

Posted

技术标签:

【中文标题】如何将一组地图从 Firestore 映射到 recyclerView?【英文标题】:How to map an array of map from Firestore to recyclerView? 【发布时间】:2022-01-05 06:21:39 【问题描述】:

我在 Firestore 中有一个文档,其中包含一个数组(用户),其中包含一些数据的地图。

users[
    name=Avina, pic=https://profilepic.com/img152, 
    name=Avina, pic=https://profilepic.com/img152
]

我在应用中有一个数据类,User

data class User(val name: String, val pic: String)

所以我需要做的是获取文档数据,然后将其存储在 ArrayList 中,然后将其提供给 RecyclerView 适配器。

我该怎么做?

我关注了this guide,结果报错:

java.lang.RuntimeException: Could not deserialize object.

【问题讨论】:

【参考方案1】:

要将“users”数组的内容作为用户对象列表获取,您只需创建一个包含该特定列表的新类,如下所示:

data class UserDoc (
    var users: MutableList<User>? = null
)

现在要读取数据,您可以简单地使用:

val users = document.toObject(UserDoc.class).users

我还写了一篇关于这个主题的文章,叫做:

How to map an array of objects from Cloud Firestore to a List of objects?

【讨论】:

嘿塔克沙克。我可以帮助您了解其他信息吗?如果您认为我的回答对您有所帮助,请考虑通过单击左侧投票箭头下方的复选标记(✔️)来接受它。应将颜色更改为绿色。我真的很感激。谢谢!

以上是关于如何将一组地图从 Firestore 映射到 recyclerView?的主要内容,如果未能解决你的问题,请参考以下文章

尝试将一组对象保存到 Firestore 并将其加载回来

如何从 kotlin 中的 firestore 读取映射数据

Firestore - 如何从值映射中添加/减去

Flutter/Dart 从 Firestore 投射到地图中

Flutter:Google Maps 如何从 Firestore 设置图标

如何在 Flutter 中创建和读取一组键值对(映射)以在 Firestore 中存储数据