对于onActivityResult中的数据,指定为非null的参数为null

时间:2017-10-18 14:57:20

标签: android-intent kotlin

我遇到与此处所述相同的问题:https://github.com/paypal/PayPal-Android-SDK/issues/437

但我无法用明显的解决方案解决问题,即将签名更改为

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {}

因为它表示该函数不会覆盖任何内容(在原始方法中,数据不可为空)

但是如果没有这个,数据将作为null发送,这是不允许的。我得到以下RuntimeException:

将结果ResultInfo {who = null,request = 2,result = 0,data = null}传递给activity {... MainActivity}:java.lang.IllegalArgumentException:指定为非null的参数为null:method kotlin .jvm.internal.Intrinsics.checkParameterIsNotNull,参数数据

如何才能使数据不为null,或者允许为空?我正在按下"返回"按钮在我自己的活动中,所以我能够发送我需要的任何东西。我尝试用一​​些数据添加意图,即

override fun onBackPressed() {
    super.onBackPressed()
    val i = Intent()
    i.putExtra("nonNull", "nonNull")
    setResult(RESULT_CANCELED, i)
    finish()
}

0 个答案:

没有答案