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