Невозможно наблюдать список жилатата в пользовательском интерфейсе - PullRequest
0 голосов
/ 14 ноября 2018

В моей viewModel я получаю объект LiveData, который содержит домашние блюда и ингредиенты, составляющие каждое блюдо.Я хочу отделить ингредиенты от блюд, чтобы мой пользовательский интерфейс мог отправлять данные на адаптер, который будет отображать блюда и соответствующие ингредиенты для каждого блюда в режиме просмотра карты, который содержит 2 представления переработчика.Однако, когда я отделяю ингредиенты от блюд и добавляю их в список типа Livedata, я больше не могу наблюдать их в своей деятельности.Как мне этого добиться?

list of dishes expanded cardView should show ingredients for the dish

    //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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...