android - LifeCycleAware Fragment 中的 fragment 生命周期事件

标签 android android-fragments android-lifecycle fragment-lifecycle

我有一个生命周期感知 fragment 和一个 LifecycleObserver

        public class MyFragment extends Fragment {
            @Override
            public void onCreate(@Nullable Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                new MyObserver(this);

            }

            @Nullable
            @Override
            public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
                return inflater.inflate(R.layout.activity_main, container, false);
            }
        }

以下是我的 Observer 类,它记录所有 fragment 事件属性

        public class MyObserver implements LifecycleObserver {
            private static final String TAG = "MyObserver";
            public MyObserver(LifecycleOwner lifecycleOwner) {
                lifecycleOwner.getLifecycle().addObserver(this);
            }

            @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
            public void onCreate(){
                Log.d(TAG, "onCreate: ");
            }

            @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
            public void onPause(){
                Log.d(TAG, "onPause: ");
            }

            @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
            public void onDestroy(){
                Log.d(TAG, "onDestroy: ");
            }

            @OnLifecycleEvent(Lifecycle.Event.ON_START)
            public void onStart(){
                Log.d(TAG, "onStart: ");
            }

        }

我想监听 fragment 特定的生命周期事件,例如 onDestroyViewonActivityCreated 但这些事件不在

Lifecycle.Event。它仅包含 Activity 事件。我如何在我的观察者中监听 fragment 事件

最佳答案

您可以观察 fragment 的viewLifecycleOwner 生命周期。

viewLifecycleOwner.lifecycle.addObserver(yourObserverHere)

然后 fragment 的 onDestroyView 生命周期方法绑定(bind)到 @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY) 注释方法。

请注意, fragment 的 viewLifecycleOwner 仅在 onCreateViewonDestroyView 生命周期方法之间可用。

关于android - LifeCycleAware Fragment 中的 fragment 生命周期事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47091794/

相关文章:

android - ListView 下方有额外空间的 DialogFragment

java - 如何转到对自身调用显式 Intent 的 Activity 的某个先前实例

android - 模拟改造可观察到的错误

java - 未知角色安卓

java - Fragments 中的 Android FATAL 异常

android - onTaskRemoved() 什么时候可以调用?

android - 如何在三个不同的 fragment 上观察来自实时数据android的数据

android - Google Plus One 按钮在 Android 应用程序中显示错误计数(错误计数问题)

android - 要在android中删除的子查询

android - fragment 中的 OnPostCreate