Android startActivityForResult怎么使用
在Android中,startActivityForResult()方法用于启动一个Activity,并且在该Activity完成后返回结果。以下是使用startActivityForResult()方法的步骤:
1. 在调用startActivityForResult()方法的Activity中,创建一个Intent对象,并使用putExtra()方法将需要传递给目标Activity的数据添加到Intent中。
2. 调用startActivityForResult()方法,并传入Intent对象和一个请求码。请求码是一个用于标识启动的Activity的唯一标识符。
```java
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("data", data);
startActivityForResult(intent, REQUEST_CODE);
```
3. 在目标Activity中,通过调用setResult()方法设置需要返回的结果,并使用RESULT_OK或其他自定义的结果码来表示操作是否成功。
```java
Intent intent = new Intent();
intent.putExtra("result", resultData);
setResult(RESULT_OK, intent);
finish();
```
4. 在调用startActivityForResult()方法的Activity中,重写onActivityResult()方法来接收目标Activity返回的结果。
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_OK) {
// 处理返回的结果
String result = data.getStringExtra("result");
// ...
}
}
}
```
在onActivityResult()方法中,根据请求码requestCode和结果码resultCode来判断返回的结果是否是我们期望的,并通过Intent对象获取返回的数据。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341