我想从 firebase 获取 2 个对象,并且想使用 viewmodel 在 Recyclerview 上显示组合结果。我创建了一个 View 模型,它从 firebase 获取一个对象,并根据该对象的 id 我想获取另一个对象并更新 ui。 View 模型类的一些代码
private static final DatabaseReference POST_REF =
FirebaseDatabase.getInstance().getReference("/Post");
private final FirebaseQueryLiveData liveData = new
FirebaseQueryLiveData(POST_REF);
@NonNull
public LiveData<DataSnapshot> getDataSnapshotLiveData() {
return liveData;
}
FirebaseQueryLiveData 类
private final MyValueEventListener listener = new MyValueEventListener();
public FirebaseQueryLiveData(DatabaseReference ref) {
this.query = ref;
}
@Override
protected void onActive() {
Log.d(LOG_TAG, "onActive");
query.addValueEventListener(listener);
}
@Override
protected void onInactive() {
Log.d(LOG_TAG, "onInactive");
query.removeEventListener(listener);
}
如何使用第一个对象的结果从 firebase 获取第二个对象并通知 livedata
第一个对象是用户的帖子,第二个对象是 userinfo 。我想在 Ui 上显示组合结果。
最佳答案
我认为this tutorial中的第5步是你问题的答案。 一旦 Firebase 中的数据发生变化,您可以在此处更新 UI。
关于android - 使用 viewmodel 中 LiveData 的结果从 firebase 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51468708/