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 页


发布评论