Ahm*_*gdi 3 android kotlin onactivityresult
我正在覆盖我的 OnActivityResult 以控制应用程序中的某些流程。
它给出的错误是它的问题overriding nothing。
这是我使用的代码:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
}
Run Code Online (Sandbox Code Playgroud)
只有当我在 Intent 之后添加非空保护时,错误才会消失,代码如下:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
}
Run Code Online (Sandbox Code Playgroud)
但这会导致kotlin.KotlinNullPointerException函数本身出现错误。
方法的签名onActivityResult是:
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data)
Run Code Online (Sandbox Code Playgroud)
如您所见,可以Intent data为空。因此,为了正确覆盖该方法,您必须使用:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)
Run Code Online (Sandbox Code Playgroud)
由于数据可以为空,因此?每次需要检查意图时都必须使用安全调用运算符。
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
val action = data?.action
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2947 次 |
| 最近记录: |