gpt4 book ai didi

android - ViewModel 中的 LiveData 如何使用 Transformations 观察 Repository 中的 LiveData?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:27 26 4
gpt4 key购买 nike

我在我的存储库中使用 AsyncTask,它用于设置存储库中的 LiveData。我如何使用转换从我的 ViewModel 观察这个 LiveData?

最佳答案

你可以忽略我的另一个答案。解决方案是在您的 View 模型中使用 MediatorLiveData<>。您将存储库中的 LiveData 作为数据源添加到 MediatorLiveData<> 并在观察者 onChanged 回调中调用 setValue 或 postValue(取决于它是否在 UI 界面中)。

像这样

    currentTransaction.addSource(application.getFinanceRepository().getTransaction(id),
new Observer<Transaction>() {
@Override
public void onChanged(@Nullable Transaction transaction) {
//Updates the MediatorLiveData<> that you activity is observing
currentTransaction.setValue(transaction);
}
});

关于android - ViewModel 中的 LiveData 如何使用 Transformations 观察 Repository 中的 LiveData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47974526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com