Я внедрил эпоксидную смолу согласно эпоксидной вики . У меня есть несколько 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>);
в соответствии с запросами пользователя.