什么是DialogFragment的生命周期

时间:2018-07-31 13:42:12

标签: android android-dialogfragment dialogfragment appcompatdialogfragment

通过在Google上搜索,我找不到android.support.v4.app.DialogFragment的正确生命周期。我需要一些实现。我们知道DialogFragment的方法与Dialog类似。

DialogFragment扩展了Fragment,因此其生命周期与Fragment相同。但是DialogFragment的其他方法呢?

这是Fragment个生命周期。可以提供DialogFragment吗?

enter image description here

3 个答案:

答案 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 calledOnCreateView not called in a dialogfragment from a fragment

相关问题