android– 如何在FirestoreRecyclerAdapter中添加2个不同的查询?

android– 如何在FirestoreRecyclerAdapter中添加2个不同的查询?,第1张

概述我有两个问题:QueryfirstQuery=ref.orderBy("name",Query.Direction.ASCENDING).limit(10);getData(firstQuery);QuerysecondQuery=ref.orderBy("price",Query.Direction.ASCENDING).limit(10);getMoreData(secondQuery);第一种方法如下所示:privatev

我有两个问题:

query firstquery = ref.orderBy("name", query.Direction.ASCENDING).limit(10);getData(firstquery);query secondquery = ref.orderBy("price", query.Direction.ASCENDING).limit(10);getMoreData(secondquery);

第一种方法如下所示:

private voID getData(query query) {    firestoreRecyclerOptions = new FirestoreRecyclerOptions.Builder<ModelClass>().setquery(query, ModelClass.class).build();    myFirestoreRecyclerAdapter = new MyFirestoreRecyclerAdapter(firestoreRecyclerOptions);    recyclerVIEw.setAdapter(myFirestoreRecyclerAdapter);}

这是第二种方法.

private voID getMoreData(query query) {    firestoreRecyclerOptions = new FirestoreRecyclerOptions.Builder<ModelClass>().setquery(query, ModelClass.class).build();    myFirestoreRecyclerAdapter = new MyFirestoreRecyclerAdapter(firestoreRecyclerOptions);    recyclerVIEw.setAdapter(myFirestoreRecyclerAdapter);}

这两个变量都声明为全局:

private FirestoreRecyclerOptions<ModelClass> firestoreRecyclerOptions;private MyFirestoreRecyclerAdapter myFirestoreRecyclerAdapter;

当应用程序启动时,元素将使用第一种方法显示在RecyclerVIEw中.我想要实现的是,在按钮单击时,当触发getMoreData()方法以在同一适配器中添加第二个查询的结果时,最终会有20个元素.现在,当我单击按钮时,第二个查询中的元素将覆盖第一个查询中的元素.

解决方法:

没有内置任何内容可以在FirestoreRecyclerAdapter中组合两个查询.

我能想到的最好的方法是在应用程序代码中创建组合结果的List /数组,然后使用数组适配器.这并不理想,因为您不会使用firebaseui.

或者,查看FirebaseUIs FirestorePagingAdapter,它在单个回收站视图中组合了多页(非实时)documentSnapshots.

总结

以上是内存溢出为你收集整理的android – 如何在FirestoreRecyclerAdapter中添加2个不同的查询?全部内容,希望文章能够帮你解决android – 如何在FirestoreRecyclerAdapter中添加2个不同的查询?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1101675.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存