![]() |
1
2
这里有一个简单的版本,你可以做什么,我希望它是有意义的。
你很接近
然后在你的观察者中,做如下的事情:
然后,当您观察组合的实时数据时:
|
![]() |
2
1
我想我解决了。我们在每个mediatorLiveData.addSource()方法中声明了一个新的myresult对象。这意味着我们将为每个querysnapshot获取一个新的对象,这样我们就不会让它们彼此合并。 以下是MediatorLiveData的更新:
现在我让用户和书籍在观察员的活动中!现在我唯一需要做的就是将数据转换(合并)成LinkedHashMap,但我想我已经弄明白了。谢谢山姆! |
![]() |
3
0
所以这就是我对你的建议,山姆。 我在myresult类中添加了getter和setter方法,因为它不允许我访问观察者中的成员变量,否则:
这是mediatorLiveData和get方法。我将myresult类初始化更改为=new myresult();认为使用mediatorLiveData.getValue()作为初始化和get方法时出现问题。
最后,观察员:
请注意:我在mediatorlivedata中做了一个空检查,只是出于测试目的将其取出。 不知何故,如果只触发了我的用户,我就需要触发我的图书查询;如果只触发了我的图书,我就需要触发我的用户查询……我觉得在需要执行MediatorLiveData之前有一个步骤,这样我们就可以确保一个LiveData触发另一个查询。这有道理吗? |
![]() |
Abhilash Das · 输入文本时,编辑文本与工具栏重叠 1 年前 |
![]() |
Community wiki · 局部变量可能尚未初始化 1 年前 |
![]() |
jvargas · 如何获取上个月的第一天和最后一天以及一年的第一天 2 年前 |