Эй, ребята, я начинаю проектировать и разрабатывать приложения для Android, такие как Instagram!используя MVVM шаблон проектирования.Мое приложение выглядит примерно так: myApp
Как вы можете видеть, у моего приложения есть список сообщений, каждый элемент сообщения которых является ViewPager, и внутри каждого ViewPager у нас есть два типа сообщений.дочерний элемент.
- PhotoType => PhotoFragment
- VideoType => VideoFragment
показать дерево компонентов приложения:
- MyActivity
-- MediaFragment --> MediaFragmentViewModel
--- MediaRecyclerView --> RecyclerAdapter
---- MediaViewPager --> PagerAdapter
----- MediaPhotoFragment --> MediaPhotoFragmentViewModel
----- MediaVideoFragment --> MediaVideoFragmentViewModel
внутри MyActivity у нас есть FrameLayout, который в нем заменен MediaFragment, внутри MediaFragment мы должны получить MediaData как List<Media>
с нашего сервера и с помощью mediaFragmentViewModel установить данные адаптера RecyclerView,все в порядке, но у меня есть большая проблема с прокруткой RecyclerView и воспроизведением видео, когда элемент MediaVideoFragment видим, а также приостановкой видео, когда элемент MediaVideoFragment невидим.поэтому я делаю большой поиск и нахожу некоторые вопросы, подобные моему, здесь, в одном из них предлагается использовать VideoPlayerManager .поэтому я использую его, чтобы определить, когда и какой вид видны?но есть большая проблема в использовании VideoPlayerManager в сотрудничестве с шаблоном MVVM !!!
Я просто хочу знать, могу ли я получить событие из вида исоздать событие ответа, чтобы оно могло повлиять на другое представление в моей ViewModel?(так же, как приложение для Instagram воспроизводит видео и приостанавливает его!)
РЕДАКТИРОВАТЬ: Мой второй вопрос об использовании MVVM для такого рода проектов, использует MVVM, подходящий для этого проекта, или нам нужночто-то еще, например, MVP или MVI или ...