繁体   English   中英

Android kotlin onCreate(savedInstanceState: Bundle?) 导致 IllegalArgumentException

[英]Android kotlin onCreate(savedInstanceState: Bundle?) cause IllegalArgumentException

第一个 Activity 没有启动Bundle? .

class FirstActivity : Activity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }

}

引起:java.lang.IllegalArgumentException:参数指定为非空为空:方法kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,参数包

override fun onCreate(savedInstanceState: Bundle)override fun onCreate(savedInstanceState: Bundle)发生此错误

但是,我修复了override fun onCreate(savedInstanceState: Bundle?)

那是在应用程序类而不是活动中发生的错误。

需要将 Bundle 更改为“Bundle”? Activity 和 Application 类。

  override fun onActivityCreated(activity: Activity, bundle: Bundle?) {

    }

  override fun onActivitySaveInstanceState(activity: Activity, bundle: Bundle?) {}

当我自动将 .java 交换为 .kt 时,我遇到了同样的错误。 但真正的错误点不在 Activity 中。 就我而言,错误的地方是 ActivityLifecycleCallbacks,其中某些参数缺少 '?' 在交换。

错误:

override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle) 
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle)

正确:

override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) 
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM