2024年3月14日发(作者:)

startactivityforresult 的返回值

(原创版)

目录

ctivityForResult 的概述

ctivityForResult 的返回值详解

3.返回值的应用示例

4.总结

正文

【ctivityForResult 的概述】

在 Android 开发中,我们经常会用到 StartActivityForResult 方

法来启动一个新的 Activity 并获取结果。StartActivityForResult 是

Activity 类中的一个静态方法,它允许我们在启动新的 Activity 之后,

通过一个特定的请求码来获取返回的结果。这种方法在需要对新

Activity 的结果进行处理的情况下非常有用。

【ctivityForResult 的返回值详解】

StartActivityForResult 方法的返回值是一个 int 类型的数据,它

表示新 Activity 的请求码。通过这个请求码,我们可以在启动新的

Activity 后,获取到新 Activity 返回的结果。

【3.返回值的应用示例】

下面是一个简单的示例,说明如何使用 StartActivityForResult 的

返回值:

假设我们有两个 Activity,一个是主 Activity,另一个是新启动的

子 Activity。在主 Activity 中,我们通过 StartActivityForResult

方法启动子 Activity,并传入一个请求码,例如 100。

第 1 页 共 3 页

```java

Intent intent = new Intent(,

);

startActivityForResult(intent, 100);

```

在子 Activity 中,我们通过 setResult 方法设置返回结果,并传

入请求码和结果数据。

```java

Intent returnIntent = new Intent();

ra("result", "some data");

setResult(100, returnIntent);

finish();

```

当子 Activity 结束时,主 Activity 会收到 onActivityResult

方法的回调。我们可以通过这个方法获取到子 Activity 返回的结果。

```java

@Override

protected void onActivityResult(int requestCode, int

resultCode, Intent data) {

vityResult(requestCode, resultCode, data);

if (requestCode == 100) {

if (resultCode == RESULT_OK) {

// 处理返回的数据

第 2 页 共 3 页

String resultData =

ingExtra("result");

xt(this, "Result: " + resultData,

_SHORT).show();

} else {

// 处理错误情况

xt(this, "Error",

_SHORT).show();

}

}

}

```

【4.总结】

通过使用 StartActivityForResult 方法,我们可以在启动新的

Activity 后,获取返回的结果。

第 3 页 共 3 页