Как правильно настроить обратные вызовы Epoxy clickListener? - PullRequest
0 голосов
/ 20 октября 2019

Я внедрил эпоксидную смолу согласно эпоксидной вики . У меня есть несколько List<items>. Я обновляю контроллер первым List<items>, все отлично работает. Но затем я обновляюсь со следующей List<items>, данные, показанные должным образом со второй List<items> в моделях Epoxy View, но обратные вызовы не обновляются новыми объектами элементов в обратных вызовах слушателей, они указывают на первые List<items> объекты.

Это часть контроллера Epoxy для построения моделей:

@Override
    protected void buildModels(List<Item> items) {
      for (Item item : items) {
        new ItemModel_()
              .id(item.getId())
              .title(item.getTitle())
              .clickListener((model, parentView, clickedView, position)  -> callbacks.onItemClicked(item))
              .addTo(this);
      }      
    }

In epoxy-sample Я обнаружил обратные вызовы clickListener с лямбда-реализацией. Показано выше: .clickListener((model, parentView, clickedView, position) -> callbacks.onItemClicked(item)). Я обновляю данные контроллера с различными списками данных List<items>, меняя все List<items> в controller.setData(List<items>); в соответствии с запросами пользователя.

...