android anctivity forresult
时间: 2023-06-30 19:25:07 浏览: 71
Android中的startActivityForResult()方法可以启动一个新的Activity,并且在新Activity关闭时返回结果给原Activity。通常情况下,startActivityForResult()方法与onActivityResult()回调方法一起使用。
以下是使用startActivityForResult()方法的基本步骤:
1. 在原Activity中使用startActivityForResult()方法启动新Activity。例如:
```
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
```
其中,REQUEST_CODE是一个整型常量,用于标识返回的结果。
2. 在新Activity中设置返回结果,并使用setResult()方法返回。例如:
```
Intent intent = new Intent();
intent.putExtra("result", "data");
setResult(RESULT_OK, intent);
finish();
```
其中,"result"为数据的标识符,"data"为具体的数据内容。
3. 在原Activity中重写onActivityResult()方法,获取返回的结果。例如:
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
// 处理返回结果
}
}
```
其中,requestCode和RESULT_OK应与启动新Activity时设置的值相同。
需要注意的是,如果新Activity被销毁时没有设置返回结果,则onActivityResult()方法不会被调用。
阅读全文