почему мой onCreate всегда срабатывает, когда я возвращаюсь к фрагменту, используя компонент навигации Android? - PullRequest
0 голосов
/ 06 августа 2020

Я новичок в разработке Android, особенно использую компонент навигации. Я перехожу из одного пункта назначения (фрагмент A) в другой пункт назначения (фрагмент B), используя такой код

val BDestination = AFragmentDirections.actionToB(userData)
findNavController().navigate(BDestination)

, и когда я возвращаюсь от фрагмента B к фрагменту A, всегда запускается метод onCreateView во фрагменте A. Я ожидаю, что если я вернусь из B в A, тогда он не будет запускать метод onCreateView, а будет запускать только метод onResume в fragmentA

. Это нормальное поведение? я могу это изменить? потому что все свойства в моем фрагменте A исчезнут, если будет вызван метод onCreateView.

1 Ответ

0 голосов
/ 06 августа 2020

Если вы посмотрите на жизненный цикл ниже, вы увидите, что как только вы отойдете от активности, представление будет уничтожено с помощью метода onDestroyView(), однако, как только вы go вернетесь к нему, оно запустит onCreateView() метод. Это нормальное поведение для жизненного цикла фрагмента. Если у вас есть код, который не запускается sh каждый раз, когда представление выводится на передний план, я бы посоветовал вам поместить их в логический блок if ().

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

...