我有一个正在使用的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
的约定,并且无法编译。
任何想法都是造成此问题的原因,更重要的是,我该怎么办?似乎不应该发生这种情况,但是我在这里。
所以您继承了DialogFragment?
然后您应该能够覆盖onDismiss,例如仅调用对话框不为null时显示super.onDismiss()
您还可以重写onDismiss和Log来查看何时确切调用它>
这也可能起作用:
@Override
public void dismiss()
{
if (getFragmentManager() != null) super.dismiss();
}