Недавно я начал объединять мое приложение с LiveData и Room. После проверки документа в android разработчик:
Transformations.switchMap
будет запускаться всякий раз, когда mAppPkgList изменено. Когда я вставил новую запись в базу данных, mAppPkgList изменился, но Transformations.switchMap не сработал. Это реализация.
ViewModel class
public LiveData<List<Info>> mAppPkgList = new MutableLiveData<>(null);
public LiveData<List<Info>> mAppList = Transformations.switchMap(mAppPkgList, list->{
SLog.v(TAG,"Transformations.switchMap");
List<Info> retArr = new ArrayList<>();
//custom logic
MutableLiveData<List<Info>> ret = new MutableLiveData<>();
ret.setValue(retArr);
return ret;
});
...
mAppPkgList = appDAO.getInfo(id)
Это код в DAO.
@DAO
@Query("SELECT * from pkg WHERE id=:id")
LiveData<List<Info>> getInfo(int id);
...
Не могли бы вы помочь мне вызвать Преобразования .switchMap всякий раз, когда я вставляю новую запись в базу данных? Заранее спасибо