Как передать интерфейс onClickListener между адаптером Recyclerview и ViewModel в MVVM - PullRequest
0 голосов
/ 02 августа 2020

Для моего проекта мне нужно отобразить список изображений, после щелчка по изображению заголовок появляется как SnackBar.

Я хочу использовать модель MVVM и LiveData.

У меня есть интерфейс onClickListener. Мой класс адаптера принимает слушателя в качестве конструктора, onBindViewHolder() вызовет listener.onClickImage(view, Book). Класс ImageFragment должен будет расширить интерфейс onClickListener для инициализации адаптера. В функции @Override onClickImage я затем использую Book.title, чтобы показать SnackBar.

Мой вопрос в том, что в этом случае класс фрагмента будет взаимодействовать с данными и обрабатывать объект Book, чтобы получить строка заголовка. Разве это не противоречит цели MVVM, потому что теперь фрагмент также обрабатывает данные? Или это не имеет значения.

Я хочу, чтобы ViewModel передавал titleString как LiveData к фрагменту, и фрагмент будет наблюдать за ним, чтобы показать панель закусок. Является ли это возможным? Есть ли хорошие способы сделать это? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...