startActivityForResult方法怎么调用
时间: 2024-01-09 13:44:25 浏览: 91
startActivityForResult方法是在Activity中使用的方法,它的作用是启动一个新的Activity,并等待新的Activity返回结果。下面是startActivityForResult方法的调用方式:
```java
Intent intent = new Intent(this, OtherActivity.class);
startActivityForResult(intent, requestCode);
```
其中,第一个参数是一个Intent对象,指定要启动的Activity;第二个参数是一个int类型的requestCode,用于标识此次启动Activity的请求。在新的Activity中完成操作后,你可以通过setResult方法将结果返回给原Activity,如下所示:
```java
Intent intent = new Intent();
intent.putExtra("result", result);
setResult(RESULT_OK, intent);
finish();
```
其中,第一个参数是一个int类型的resultCode,用于标识此次操作的结果;第二个参数是一个Intent对象,用于携带返回的数据。在原Activity中,你可以重写onActivityResult方法来接收返回的数据,如下所示:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
// 处理返回的数据
}
}
```
其中,requestCode和resultCode分别对应启动Activity时传入的requestCode和setResult方法中的resultCode,data则是返回的Intent对象,通过getStringExtra方法可以获取返回的数据。
阅读全文