Отличие статических фрагментов от динамических - PullRequest
0 голосов
/ 03 сентября 2018

При написании библиотеки для Android, я слушаю жизненный цикл фрагментов, используя supportFragmentManager.registerFragmentLifecycleCallbacks. Имея объект фрагмента в обратных вызовах, как я могу проверить, является ли фрагмент статическим фрагментом (определенным в файле XML) или динамическим (определенным в контейнере, подобном FrameLayout)?

1 Ответ

0 голосов
/ 20 декабря 2018

Я сам нашел решение, и оно было довольно простым.

В классе Fragment есть метод с именем isInLayout(), который возвращает значение true, если фрагмент был создан с использованием тега <fragment>.

Вот документация для метода:

публичный финальный логический isInLayout ()

Возвращает true, если макет включен как часть иерархии представления активности через тег <fragment>. Это всегда будет верно, когда фрагменты создаются с помощью тега <fragment>, , за исключением в случае, когда старый фрагмент восстанавливается из предыдущего состояния и не отображается в макете текущего состояния.

...