Для моего проекта мне нужно отобразить список изображений, после щелчка по изображению заголовок появляется как SnackBar.
Я хочу использовать модель MVVM и LiveData.
У меня есть интерфейс onClickListener. Мой класс адаптера принимает слушателя в качестве конструктора, onBindViewHolder()
вызовет listener.onClickImage(view, Book)
. Класс ImageFragment
должен будет расширить интерфейс onClickListener для инициализации адаптера. В функции @Override onClickImage
я затем использую Book.title
, чтобы показать SnackBar.
Мой вопрос в том, что в этом случае класс фрагмента будет взаимодействовать с данными и обрабатывать объект Book, чтобы получить строка заголовка. Разве это не противоречит цели MVVM, потому что теперь фрагмент также обрабатывает данные? Или это не имеет значения.
Я хочу, чтобы ViewModel передавал titleString как LiveData к фрагменту, и фрагмент будет наблюдать за ним, чтобы показать панель закусок. Является ли это возможным? Есть ли хорошие способы сделать это? Спасибо!