Как могла часть моего кода знать об экземпляре фрагмента, видимого на экране?Как определить, когда на экране появляется фрагмент?
Следующий фрагмент объяснит мой вопрос.
public class MyApp extends Application {
public static final String TAG = MyApp.class.getSimpleName();
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
...
@Override
public void onActivityResumed(Activity activity) {
Log.d(TAG, activity.getClass().getSimpleName() + " is on screen");
}
@Override
public void onActivityStopped(Activity activity) {
Log.d(TAG, activity.getClass().getSimpleName() + " is NOT on screen");
}
...
});
}
Здесь я могу отслеживать, когда на экране появляется какое-либо действие в моем приложении. Есть ли способ расширить этот подход на фрагментах?
Что-то вроде Activity.getFragmentManager().registerFragmentLifecycleCallbacks();
UPD. Я ничего не знаю о реализации действий, они вообще используют фрагменты и как они их используют (инъекция через xml, ViewPager и т. Д.) Единственное, что у меня есть в моем классе, - это контекст приложения. Предположим, что реализация Activity и Fragment - это черные ящики, и я не могу вносить никаких изменений.
Если вызван метод onResume вашего фрагмента, это означает, что ваш фрагмент виден для пользователя. – Toppers
Ну ... Скажем, реализация Фрагмента - это черный ящик, и у меня нет возможности добавлять несколько строк кода. –
Итак, ваш те, кто подталкивает невосприимчивый дизайн приложения. – danny117