このエラーが発生しました:
原因:Java.lang.IllegalArgumentException:null以外として指定されたパラメーターがnullです:メソッドkotlin.jvm.internal.Intrinsics.checkParameterIsNotNull、パラメーターsavedInstanceState
Kotlinでカスタムダイアログを膨らませようとすると、ダイアログのsuper.onCreate行に上記で書いたエラーが発生しました。
ダイアログコードは次のとおりです。
class Custom_Dialog_Exit_App(var activity: Activity)// TODO Auto-generated constructor stub
: Dialog(activity, R.style.full_screen_dialog) {
override fun onCreate(savedInstanceState: Bundle) {
super.onCreate(savedInstanceState)
requestWindowFeature(Window.FEATURE_NO_TITLE)
setContentView(R.layout.custom_dialog_exit_app)
activity.window!!.setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT)
initView()
}
fun initView() {
initClicks()
}
fun initClicks() {
}
}
そして初期化は:
val omer = Custom_Dialog_Exit_App(this@MainActivity)
omer.show()
助けてください
override fun onCreate(savedInstanceState: Bundle) {
savedInstanceState
はnull
である可能性があるため、タイプはBundle?
である必要があります。
パラメータがnullでないことを指定すると、kotlinはすべての場合にチェックを生成します。これには、Javaインターフェースを実装する場合も含まれるため、null許容パラメーターをnull以外にすることに注意する必要があります。
また、エラーが発生しました。タイプBundle
を"Bundle?"
に変更しました。その後、問題なく動作しました。 Kotlinでは、変数/パラメーターがnullかどうかを指定する必要があります。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
init()
}