Введение (Вопросы ниже): В требованиях моего приложения мне нужно создать TabLayout и ViewPager, расширяющий FragmentStatePAgerAdapter
.Viewpager состоит из списка фрагментов одного типа, назовем его ListFragment.
Каждый Fragment
отображает один список RecyclerView
.
Теперь возникает дилемма.Чего я хочу добиться, так это иметь ViewModel
для каждого ListFragment
, который содержит LiveData<ArrayList>
из ListFragment
, в то же время продолжая отслеживать список фрагментов самостоятельно для любых изменений (список Fragment
может бытьизменено (удалить / вставить / установить))
Вот изображение приложения:
Приложение
Примечание: ListFragment и Fragment Listможет быть запутанным.Значение имеет ArrayList<ListFragment>
, где каждый ListFragment имеет ViewModel
, который содержит LiveData<ArrayList<Object>>
.
Теперь все становится просто сложнее:
1) Как мне создать ViewModel
для каждого ListFragment
, и где мне хранить эти ViewModels?
2)После создания списка фрагментов (с недетерминированным размером), где я могу сохранить список и как мне прослушать его изменения (например, удалить фрагмент)?
Все эти вопросы относятся к архитектуре,У меня есть четкое понимание того, как реализовать ViewModel
, FragmentStatePagerAdapter
и т. Д., Но я довольно смущен, например, где хранить, создавать и т. Д.
Нет предположения об архитектурееще.Это может быть MVVN или MVC.