Жизненный цикл фрагмента отслеживания, например Application.ActivityLifecycleCallbacks
Всем известно, что в Android мы можем отслеживать действия через Application.ActivityLifecycleCallbacks для получения пожаров из системы, когда активность создается, останавливается, уничтожается и т. Д.
Я нашел только один вопрос на stackru, связанный с этой темой.
Привязка к жизненному циклу фрагмента, как Application.ActivityLifecycleCallbacks
К сожалению предоставленное решение работает только на пост 25.2.0 Android.
Я ищу Soultion для предварительно 25.2.0. Может быть, это возможно с помощью некоторых обходных путей, может быть, отражение?
1 ответ
Я ищу Soultion для предварительно 25.2.0
FragmentManager.FragmentLifecycleCallbacks
был доступен из 25.1.0
, Единственное изменение, которое было внесено в 25.2.0
Что касается этого API, то, что это стало static
а до этого это был просто публичный внутренний класс. Что означает, что для использования вы должны получить доступ к нему через включающий его экземпляр, который в данном случае FragmentManager
:
final FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.registerFragmentLifecycleCallbacks(fragmentManager.new FragmentLifecycleCallbacks() {
@Override
public void onFragmentPreAttached(FragmentManager fm, Fragment f, Context context) {
super.onFragmentPreAttached(fm, f, context);
}
...
// all other callbacks
}, true);
Как уже упоминалось в комментарии Евгения Печанца, фрагменты фреймворка по умолчанию (т.е. android.app.Fragment
, а не из пакетов поддержки) получит эти изменения в Android-O
релиз.