вызвать метод жизненного цикла следующего фрагмента при использовании viewpager2 с TabLayoutMediator

Я использую Viewpager2 с настройкой tablayout с использованием TabLayoutMediator, но проблема в том, что когда я перетаскиваю первый фрагмент viewpager на второй фрагмент, здесь вызываются только методы жизненного цикла текущего фрагмента, но когда я нажимаю на tablayout, затем вызываю методы жизненного цикла следующего фрагмента. Я не знаю, почему это происходит?


person Ronak Patel    schedule 24.02.2020    source источник


Ответы (1)


Это происходит потому, что метод, который TabLayoutMediator использует для перехода к выбранному фрагменту, заставляет RecyclerView кэшировать следующий фрагмент, поскольку он использует плавную прокрутку.

Это не должно быть проблемой, ЕСЛИ вы не делаете что-то не в той части жизненного цикла фрагмента. Если вы хотите что-то сделать только тогда, когда отображается фрагмент, делайте это только в методе Fragments onResume, поскольку описываемое вами поведение переведет только кешированный фрагмент в состояние «Запущено».

person Andrew    schedule 24.02.2020