архитектурно решить.
вложенность UI
MainActivity (работает с NavigationComponent) открывает HomeFragment(первый элемент в меню навигации).
HomeFragment внутри себя содержит TabLayout(2 Fragment'a в Tab'ах) + ViewPager2.
Каждый TabFragment имеет свой Presenter и из Room получает List<E>, который заполняют RecyclerView внутри TabFragment.
до этого момента все работает ОК.
Если перейти из HomeFragment на OtherFragment (для примера), произвести там действия, которые повлияют на списки TabFragment'ов, то после возвращения назад на HomeFragment информация не поменяется. Да, жизненный цикл не влияет на TabFragment'ы. И поэтому я решил создать интерфейс, который бы вызывался в onResume HomeFragment, и обновлял данные в TabFragment'ах.
Вопрос ко всем, кто дочитал до этого места. ЭТО КОСТЫЛЬ ?
По-хорошему про изменения должен сообщать источник данных.
Сейчас (правда в альфе) есть фича типа активити онтрезалт только для фрагментов, должно тебе помочь
Обсуждают сегодня