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

时间:2017-10-23 02:01:35

标签: android kotlin nullable illegalargumentexception

第一个活动不会启动Bundle?

class FirstActivity : Activity() {

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

}
  

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

override fun onCreate(savedInstanceState: Bundle)

时应出现此错误

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

2 个答案:

答案 0 :(得分:2)

应用程序类发生了错误,而不是活动。

需要将Bundle更改为“Bundle?”活动和应用程序类。

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

    }

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

答案 1 :(得分:0)

当我自动将.java交换为.kt时,我遇到了相同的错误。但是真正的错误点不在活动中。就我而言,错误的位置是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?)