startActivityForResult()怎么使用
时间: 2024-01-09 11:45:39 浏览: 58
startActivityForResult()是用于启动一个Activity并且可以将结果返回给调用它的Activity的方法。
使用步骤如下:
1. 在调用者Activity中调用startActivityForResult()方法,如下所示:
```
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
```
其中,第一个参数是要启动的Activity的Intent,第二个参数是一个请求码,用于标识这个请求。
2. 在被启动的Activity中,当需要返回结果时,可以通过setResult()方法设置返回结果,如下所示:
```
Intent intent = new Intent();
intent.putExtra("result", "123");
setResult(RESULT_OK, intent);
finish();
```
其中,setResult()方法的第一个参数是结果码,通常使用RESULT_OK表示成功返回结果,第二个参数是包含返回结果的Intent对象。
3. 在调用者Activity中,需要重写onActivityResult()方法来处理返回结果,如下所示:
```
@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");
// 处理返回结果
}
}
```
其中,onActivityResult()方法的第一个参数是请求码,用于判断是哪个请求返回的结果;第二个参数是结果码,用于判断返回结果的状态;第三个参数是包含返回结果的Intent对象,可以通过它获取返回结果。
阅读全文