租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

Android startActivityForResult的基本用法详解

发布时间:2023-08-14 08:35:05

Android startActivityForResult的基本用法详解

在Android开发中,startActivityForResult()是一个用来启动一个新的Activity并且在新的Activity关闭后返回结果的方法。该方法可以用于在区分的Activity之间进行数据的传递和返回结果的处理。
基本用法以下:
1. 在当前的Activity中调用startActivityForResult()方法来启动一个新的Activity:
```
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
```
其中,第一个参数为当前的Context,第二个参数为要启动的Activity的class,第三个参数为一个用来标识要求的唯一的整数值。
2. 在被启动的Activity中通过setResult()方法设置返回的结果:
```
Intent intent = new Intent();
intent.putExtra("result", "Hello World");
setResult(RESULT_OK, intent);
```
其中,第一个参数为返回的结果码,一般使用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");
// 处理返回的结果
}
}
```
其中,requestCode参数为要求的标识,resultCode参数为返回的结果码,data参数为包括返回数据的Intent对象。根据requestCode和resultCode来处理返回的结果。
需要注意的是,被启动的Activity如果被用户手动关闭(按下返回键)而不是通过setResult()方法设置返回结果,则resultCode将为RESULT_CANCELED,表示操作取消。
以上就是Android startActivityForResult的基本用法。通过该方法可以方便地进行Activity之间的数据传递和返回结果的处理。