Firebaseui FirestoreRecyclerAdapter:如何使用 DocumentReference 指向的数据

文森特·内格尔

我的数据设置如下:
- 用户集合包含用户文档。
- 用户文档包含一个 Friends 子集合。
- Friends 子集合包含 UserRef 文档。
- UserRef 文档包含对用户文档的 DocumentReference。

我想使用 FirestoreRecyclerAdapter 在 RecyclerView 中显示特定用户的所有朋友。这个答案来看,我似乎无法检索查询中 DocumentReference 指向的用户文档。因此,以下代码是我尝试使用 SnapshotParser 来实现的。但是,我不知道如何从 parseSnapshot() 返回 User,因为它是异步检索的。

Query query = friendsSubcollection;

FirestoreRecyclerOptions<User> options = new FirestoreRecyclerOptions.Builder<User>()
        .setQuery(query, User.class, new SnapshotParser<User>() {
            @NonNull
            @Override
            public User parseSnapshot(@NonNull DocumentSnapshot snapshot) {
               DocumentReference userRef = snapshot.toObject(DocumentReference.class);
               userRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
                            @Override
                            public void onSuccess(DocumentSnapshot documentSnapshot) {
                                User user = documentSnapshot.toObject(User.class); // How do I return this user from parseSnapshot()?
                            }
                        });
            }
        })
        .build();
道格史蒂文森

您将无法执行此操作,因为 parseSnapshot 需要同步发生,但获取另一个文档是异步的。在 parseSnapshot 返回之前,文档获取不会通过回调完成。因此,您将无法为此使用 Firebase UI - 您必须想出自己的方式来发出多个请求来填充 RecyclerView,这可能需要大量工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用无效数据调用函数DocumentReference.set()

来自分类Dev

如何逆向使用FirebaseUI-Android获取的数据?

来自分类Dev

如何逆向使用FirebaseUI-Android获取的数据?

来自分类Dev

尝试替换旧数组时使用无效数据调用DocumentReference.update()

来自分类Dev

DocumentReference返回敏感数据-Firestore

来自分类Dev

使用汇总导入firebaseui

来自分类Dev

Firebase 数据库使用 FirebaseUI 将子数据填充到 ListView

来自分类Dev

使用自定义JavaScript对象会使Firestore文档产生错误:“使用无效数据调用了Function DocumentReference.set()”

来自分类Dev

如何通过自定义属性(而非数据库值)订购Firebase ListView(FirebaseUI)

来自分类Dev

我应该为androidX中的实时数据库使用哪个firebaseUI库?

来自分类Dev

FirebaseUI Firestore 未在 iOS 上检索数据

来自分类Dev

使用 FirebaseUI 创建通用登录应用

来自分类Dev

如何在Firestore Python中从DocumentReference获取文档名称

来自分类Dev

在 FirebaseUI 的 FirebaseRecyclerAdapter 中检查“无文档”状态或空数据集

来自分类Dev

使用FirebaseUI登录不会退出Webview并引发错误

来自分类Dev

使用Facebook的FirebaseUI身份验证不起作用

来自分类Dev

使用滑行从Firebase存储(云Firestore),FirebaseUi恢复图像

来自分类Dev

如何交换指向数据的变量,而不交换其内容?

来自分类Dev

如何获得指向Qt容器中原始数据的指针?

来自分类Dev

如何将R函数指向数据集的特定列?

来自分类Dev

如何交换指向数据的变量,而不交换其内容?

来自分类Dev

如何创建指向数据过滤器元素的链接?

来自分类Dev

如何理解这个指向C中数据结构的指针?

来自分类Dev

如何在Swift中的iOS上使用FirebaseUI进行Google身份验证?

来自分类Dev

如何在firebaseui提供的recyclerview项目上使用上下文菜单

来自分类Dev

使用 FirebaseUI-auth 时如何验证电子邮件而无需再次登录?

来自分类Dev

如何在 Android 中使用 FirebaseUI 检索用户名和姓氏?

来自分类Dev

使用 Vue.js 和 FirebaseUI,身份验证成功后如何存储 authResult 对象?

来自分类Dev

使用指向C ++中对象的指针检索数据

Related 相关文章

  1. 1

    使用无效数据调用函数DocumentReference.set()

  2. 2

    如何逆向使用FirebaseUI-Android获取的数据?

  3. 3

    如何逆向使用FirebaseUI-Android获取的数据?

  4. 4

    尝试替换旧数组时使用无效数据调用DocumentReference.update()

  5. 5

    DocumentReference返回敏感数据-Firestore

  6. 6

    使用汇总导入firebaseui

  7. 7

    Firebase 数据库使用 FirebaseUI 将子数据填充到 ListView

  8. 8

    使用自定义JavaScript对象会使Firestore文档产生错误:“使用无效数据调用了Function DocumentReference.set()”

  9. 9

    如何通过自定义属性(而非数据库值)订购Firebase ListView(FirebaseUI)

  10. 10

    我应该为androidX中的实时数据库使用哪个firebaseUI库?

  11. 11

    FirebaseUI Firestore 未在 iOS 上检索数据

  12. 12

    使用 FirebaseUI 创建通用登录应用

  13. 13

    如何在Firestore Python中从DocumentReference获取文档名称

  14. 14

    在 FirebaseUI 的 FirebaseRecyclerAdapter 中检查“无文档”状态或空数据集

  15. 15

    使用FirebaseUI登录不会退出Webview并引发错误

  16. 16

    使用Facebook的FirebaseUI身份验证不起作用

  17. 17

    使用滑行从Firebase存储(云Firestore),FirebaseUi恢复图像

  18. 18

    如何交换指向数据的变量,而不交换其内容?

  19. 19

    如何获得指向Qt容器中原始数据的指针?

  20. 20

    如何将R函数指向数据集的特定列?

  21. 21

    如何交换指向数据的变量,而不交换其内容?

  22. 22

    如何创建指向数据过滤器元素的链接?

  23. 23

    如何理解这个指向C中数据结构的指针?

  24. 24

    如何在Swift中的iOS上使用FirebaseUI进行Google身份验证?

  25. 25

    如何在firebaseui提供的recyclerview项目上使用上下文菜单

  26. 26

    使用 FirebaseUI-auth 时如何验证电子邮件而无需再次登录?

  27. 27

    如何在 Android 中使用 FirebaseUI 检索用户名和姓氏?

  28. 28

    使用 Vue.js 和 FirebaseUI,身份验证成功后如何存储 authResult 对象?

  29. 29

    使用指向C ++中对象的指针检索数据

热门标签

归档