Я пытаюсь использовать ViewModel с некоторыми LiveData, которые используют значение из другой LiveData.
Для этого я пытаюсь использовать Transformations.switchMap
, но получаю
Несовместимотипы.Обязательный MutableLiveData, но «SwitchMap» был выведен в LiveData: не существует ни одного экземпляра (ов) переменной типа (ов) Y, так что LiveData соответствует MutableLiveData
Я уже пытался перейти на Transformations.map
,но с теми же результатами.
public class RestaurantViewModel extends ViewModel {
private MutableLiveData<FirebaseUser> userLiveData = new MutableLiveData<>();
private final MutableLiveData<String> userId =
Transformations.switchMap(userLiveData, input -> {
return input.getUid();
});
private String getUid(FirebaseUser user){
return user.getUid();
}
private void setUser(FirebaseUser currentUser){
this.userLiveData.setValue(currentUser);}
}
Я ожидал, что userId будет зависеть от значения userLiveData, но я не могу этого сделать.