jjzjj

MediatorLiveData

全部标签

android - 如何更新 LiveData 值?

我正在为我的数据使用新的分页库。创建ViewModel并首次初始化实时数据时,一切正常。问题是我无法更新实时数据的值,例如,当我单击菜单项并想用另一组数据更新它时。然后我的fragment中的onChanged方法不会被调用。我已经阅读了有关MutableLiveData以及setValue和postValue等可以更新实时数据的方法,但就我而言,我使用的是LivePagedListProvider并且无法从数据库返回MutableLiveData。道:@Query("SELECT*FROMteamsORDERBYnameASC")LivePagedListProvidergetAll

android - MediatorLiveData onChanged 没有被调用

在我的应用程序中,我尝试使用MediatorLiveData来监听实时数据的变化。由于涉及数据库操作,我使用这样的执行程序服务。MediatorLiveDatamediatorLiveData=newMediatorLiveData();appExecutors.diskIO().execute(()->{longid=contentDao.insert(content);Log.i("LIVE",id+"");LiveDatacontent=contentDao.getContentById(id);mediatorLiveData.addSource(content,newObse

Android MediatorLiveData 观察者

我对以下代码为何不起作用感到有点困惑:MutableLiveDatamutableTest=newMutableLiveData();MediatorLiveDatamediatorTest=newMediatorLiveData();mediatorTest.addSource(mutableTest,test->{Timber.d(test);});mutableTest.setValue("bla!");这段代码看起来很简单,但是调试器并没有进入回调,也没有任何内容被记录到控制台...编辑:那么这不应该工作吗?MutableLiveDatamutableTest=newMutab

android - 具有多个参数的 MediatorLiveData 或 switchMap 转换

我正在使用Transformations.switchMap在我的ViewModel中,所以在我的fragment中观察到的LiveData集合会对code参数的更改使用react。这很好用:publicclassMyViewModelextendsAndroidViewModel{privatefinalLiveDatadayPrices;privatefinalMutableLiveDatacode=newMutableLiveData();//privatefinalMutableLiveDatanbDays=newMutableLiveData();privatefinalDB

android - 具有多个参数的 MediatorLiveData 或 switchMap 转换

我正在使用Transformations.switchMap在我的ViewModel中,所以在我的fragment中观察到的LiveData集合会对code参数的更改使用react。这很好用:publicclassMyViewModelextendsAndroidViewModel{privatefinalLiveDatadayPrices;privatefinalMutableLiveDatacode=newMutableLiveData();//privatefinalMutableLiveDatanbDays=newMutableLiveData();privatefinalDB

android - MVVM 中的 MediatorLiveData 和 MutableLiveData 有什么区别

我搜索了很多,但没有找到问题的清晰答案:MediatorLiveData和MutableLiveData有什么区别?使用它们的合适条件是什么。 最佳答案 首先我们需要知道MutableLivedata之间的关系是什么和MediatorLivedata了解它们之间的区别。java.lang.Object↳android.arch.lifecycle.LiveData↳android.arch.lifecycle.MutableLiveData↳android.arch.lifecycle.MediatorLiveData现在很明显Me