DialogFragment.onDismiss()中的空指针异常

问题描述 投票:1回答:1

我有一个正在使用的DialogFragment子类,并且在关闭它时会崩溃。它并非每次都会发生,而且我似乎无法找到一种模式。崩溃发生在重写的onDismiss()函数内部。

java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter dialog
at com.foo.MyDialogFragment.onDismiss(Unknown Source:2)

这是DialogInterface参数,它发生在我的任何代码运行之前,因此我无法采取任何措施来阻止它。我无法使参数dialog可为空,因为这会破坏与DialogFragment的约定,并且无法编译。

任何想法都是造成此问题的原因,更重要的是,我该怎么办?似乎不应该发生这种情况,但是我在这里。

android kotlin android-dialogfragment
1个回答
0
投票

所以您继承了DialogFragment?

然后您应该能够覆盖onDismiss,例如仅调用对话框不为null时显示super.onDismiss()

您还可以重写onDismiss和Log来查看何时确切调用它>

这也可能起作用:

@Override
public void dismiss()
{
    if (getFragmentManager() != null) super.dismiss();
}

Source

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