Это Kotlin, а не Java, к вашему сведению.
У меня есть подкласс DialogFragment, который я использую, и я получаю некоторые сбои, когда он отклоняется. Это происходит не каждый раз, и я не могу найти образец для этого. Cra sh происходит внутри переопределенной функции onDismiss()
как автоматический вызов c Kotlin Intrinstics.checkParameterIsNotNull()
. Вот декомпилированный Kotlin -> Java код из моего подкласса диалога:
public void onDismiss(@NotNull DialogInterface dialog) {
Intrinsics.checkParameterIsNotNull(dialog, "dialog");
super.onDismiss(dialog);
}
А вот сообщение cra sh:
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 параметр, и это происходит до того, как какой-либо мой код выполняется, поэтому я не могу ничего сделать, чтобы предотвратить это. Невозможно поставить проверку перед этим, потому что компилятор Kotlin вставляет нулевую проверку перед любым моим кодом.
Я закрываю диалоговое окно, вызывая это, внутри onStop()
* владельца Activity. 1014 *
myDialog?.dismissAllowingStateLoss()
Любая идея, что вызывает это, и что более важно, что я могу сделать? Кажется, что это никогда не должно происходить, потому что интерфейс указывает, что это не может быть null
.