如何使用onActivityResult
时间: 2024-05-01 19:23:11 浏览: 25
onActivityResult 是 Android 中的一个方法,用于在 Activity 之间传递数据。它通常与 startActivityForResult 一起使用,用于在子 Activity 中完成某个操作后,返回数据给调用它的父 Activity。
具体使用步骤如下:
1. 在父 Activity 中使用 startActivityForResult 启动子 Activity,传递请求码和数据(可选)。
```java
Intent intent = new Intent(this, ChildActivity.class);
intent.putExtra("data", "Hello");
startActivityForResult(intent, 1);
```
2. 在子 Activity 中完成某个操作后,设置要返回的数据,并使用 setResult 方法将数据返回给父 Activity。
```java
Intent intent = new Intent();
intent.putExtra("result", "World");
setResult(RESULT_OK, intent);
finish();
```
3. 在父 Activity 中重写 onActivityResult 方法,获取子 Activity 返回的数据。
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
// 处理返回的数据
}
}
```
注意:子 Activity 返回数据时必须使用 setResult 方法,否则 onActivityResult 方法不会被调用。同时,requestCode 必须与启动子 Activity 时传递的请求码一致,resultCode 代表子 Activity 的返回状态,通常使用 RESULT_OK 表示操作成功,data 代表返回的数据。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)