问题描述:
java.lang.IllegalArgumentException:
Parameter specified as non-null is null:
method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter context
kotlin里重载的父类代码:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
super.onActivityResult(requestCode, resultCode, data)
}
分析问题:
由于回调onActivityResult这个方法时参数Intent传递过来的值为null,但是在kotlin中“data: Intent”这样定义的参数表示不能为null,所以kotlin抛出异常
解决问题:
在可能为null的参数后面增加“?”表示这个参数允许为null,修改后的代码:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
}