В моей viewModel я получаю объект LiveData, который содержит домашние блюда и ингредиенты, составляющие каждое блюдо.Я хочу отделить ингредиенты от блюд, чтобы мой пользовательский интерфейс мог отправлять данные на адаптер, который будет отображать блюда и соответствующие ингредиенты для каждого блюда в режиме просмотра карты, который содержит 2 представления переработчика.Однако, когда я отделяю ингредиенты от блюд и добавляю их в список типа Livedata, я больше не могу наблюдать их в своей деятельности.Как мне этого добиться?
//in DishesViewModel
//getter for all the dishes from the repository
public List<LiveData<List<DishWithIngredients>>> getAllDishes() {
LiveData ingredients = Transformations.map(mAllDishes, input ->
Objects.requireNonNull(mAllDishes.getValue()).listIterator().next().ingredients);
LiveData dishes = Transformations.map(mAllDishes, input ->
Objects.requireNonNull(mAllDishes.getValue()).listIterator().next().dishEntry);
List<LiveData<List<DishWithIngredients>>> result = new ArrayList<>();
result.add(ingredients);
result.add(dishes);
return result;
}
Когда я делаю вышеупомянутое, я больше не могу наблюдать данные в пользовательском интерфейсе.не удается разрешить метод наблюдения
//MainActivity
mDishesViewModel.getAllDishes().observe(this, (Observer<List<DishWithIngredients>>)
dishWithIngredients -> mDishesAdapter.swapDishes(dishWithIngredients));