24

android.support.v4.app.DialogFragment通过在 Google 上搜索,我找不到正确的生命周期。我需要这个来实现一些。我们知道DialogFragment有一些方法相同,如Dialog.

DialogFragment扩展Fragment,因此它的生命周期与Fragment. 但是其他方法DialogFragment呢?

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

在此处输入图像描述

4

3 回答 3

50

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();
}
于 2018-07-31T14:01:57.820 回答
4

奇怪的是,如果你创建了一个AlertDialogin onCreateDialog(),没有调用onCreateView(),那么onViewCreated()也不会调用。

请参阅Android DialogFragment onViewCreated not calledOnCreateView not called in a dialogfragment from a fragment

于 2019-04-03T10:18:08.380 回答
2

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

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

于 2018-07-31T13:50:50.833 回答