Android BottomNavigationView с дочерним элементом Tabbed ViewPager

Я использую BottomNavigationView для навигации между двумя фрагментами, один из этих фрагментов имеет свой собственный ViewPager с TabLayout, как показано ниже:

введите здесь описание изображения

Вот что я пытаюсь сделать:

MainActivity
 |--- HomeFragment
 |           |--- POPULAR
 |           |--- LATEST
 |           |--- TOP RATED
 |           |--- UPCOMING
 |--- FavoritesFragment

он отлично работает при смахивании ViewPager, проблема возникает, когда я нахожусь в LATEST или TOP RATED и перемещаюсь с BottomNavigationView на FavoritesFragment и возвращаюсь обратно к HomeFragment, ViewPager начинается с POPULAR, а не с того фрагмента, в котором я был до навигации.

Как я могу избежать этой сложной проблемы с навигацией?

И какое лучшее решение для отслеживания навигации в такой ситуации?


person iosamammohamed    schedule 19.02.2020    source источник


Ответы (1)


addToBackStack

Фрагментные транзакции

И какое лучшее решение для отслеживания навигации в такой ситуации?

Я, очевидно, не знаю лучшего решения. Подобный случай также включает жизненные циклы фрагментов, что еще больше усложняет ситуацию. Если вам нужно очень специфическое поведение навигации — особенно возможность возобновления работы из любого предыдущего состояния пользовательского интерфейса — я бы предложил использовать файл журнала для отслеживания изменений жизненного цикла и навигации. Это часто окупалось для меня в долгосрочной перспективе

person Kelsnare    schedule 19.02.2020
comment
Я использую ViewPager, поэтому я не могу использовать addToBackStack - person iosamammohamed; 19.02.2020
comment
@iosamammohamed, возможно, эта ветка может помочь - person Kelsnare; 21.02.2020