我在Google上搜索找不到android.support.v4.app.DialogFragment
的正确生命周期。我需要这个用于一些实现。我们知道DialogFragment
有一些像Dialog
一样的方法。
DialogFragment
扩展Fragment
所以它的生命周期与Fragment
相同。但是DialogFragment
的其他方法呢?
这是Fragment
生命周期。可以提供DialogFragment
吗?
DialogFragment
生命周期类似于fragment:
的生命周期。为了测试自己将日志放入overrided
的每个dialogFragment
方法中,然后运行您的代码,您将了解dialogFragment
的工作。
onAttach
onCreate
onCreateDialog
onCreateView
onActivityCreated
onStart
onResume
就完成或销毁dialogFragment而言,lifeCycle如下:
onPause
onStop
onDestroyView
onDestroy
onDetach
另外我相信这种方法也会帮助你了解lifecycle
:
@NonNull
@Override
public Lifecycle getLifecycle() {
return super.getLifecycle();
}
DialogFragment做了各种各样的事情来保持片段的生命周期驱动它,而不是Dialog。请注意,对话框通常是自治实体 - 它们是自己的窗口,接收自己的输入事件,并且经常决定何时消失(通过接收后退键事件或用户单击按钮)。
资料来源:https://developer.android.com/reference/android/app/DialogFragment#lifecycle
奇怪的是,如果你在AlertDialog
创建了onCreateDialog()
,没有打电话给onCreateView()
,那么onViewCreated()
也不会打电话。
见Android DialogFragment onViewCreated not called和OnCreateView not called in a dialogfragment from a fragment。