我遇到了一个非常有趣的问题。我尝试从我的Activity的onResume方法中解除片段对话框。这一切都很好,直到它调用我的Dialog Fragment的onDismiss方法,当我调用getActivity时返回null。为什么是这样?我怀疑它与生命周期有关但在调试之后才明白我仍然不确定为什么会发生这种情况。
答案 0 :(得分:0)
由于您致电super.onDismiss()
,您的代码将通过onDismiss()
中托管的FragmentDialog
的默认实施。从docs我们看到它调用了dismissInternal()
,后者又删除了DialogFragment
。当代码到达onDismiss()
的实现时,DialogFragment
可能已被删除,因此getActivity()
会返回null
。