什么是DialogFragment的生命周期

问题描述 投票:6回答:3

我在Google上搜索找不到android.support.v4.app.DialogFragment的正确生命周期。我需要这个用于一些实现。我们知道DialogFragment有一些像Dialog一样的方法。

DialogFragment扩展Fragment所以它的生命周期与Fragment相同。但是DialogFragment的其他方法呢?

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

enter image description here

android android-dialogfragment dialogfragment appcompatdialogfragment
3个回答
13
投票

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();
}

2
投票

DialogFragment做了各种各样的事情来保持片段的生命周期驱动它,而不是Dialog。请注意,对话框通常是自治实体 - 它们是自己的窗口,接收自己的输入事件,并且经常决定何时消失(通过接收后退键事件或用户单击按钮)。

资料来源:https://developer.android.com/reference/android/app/DialogFragment#lifecycle


1
投票

奇怪的是,如果你在AlertDialog创建了onCreateDialog(),没有打电话给onCreateView(),那么onViewCreated()也不会打电话。

Android DialogFragment onViewCreated not calledOnCreateView not called in a dialogfragment from a fragment

© www.soinside.com 2019 - 2024. All rights reserved.