Android studio 如何实现两个activity的数据回传
时间: 2024-05-01 11:19:02 浏览: 130
在 Android 中,可以通过 `startActivityForResult()` 和 `onActivityResult()` 方法实现两个 Activity 之间的数据回传。
步骤如下:
1. 在第一个 Activity 中,调用 `startActivityForResult()` 方法启动第二个 Activity,并传递一些数据。
```java
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("data", "Hello SecondActivity");
startActivityForResult(intent, 1);
```
2. 在第二个 Activity 中,通过 `setResult()` 方法将数据返回给第一个 Activity。
```java
Intent intent = new Intent();
intent.putExtra("result", "Hello FirstActivity");
setResult(RESULT_OK, intent);
finish();
```
3. 在第一个 Activity 中,通过 `onActivityResult()` 方法获取从第二个 Activity 返回的数据。
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
String result = data.getStringExtra("result");
// 处理返回的数据
}
}
```
注意事项:
- `requestCode` 参数用于标识是哪个请求,可以自定义一个整数值。
- `resultCode` 参数用于标识返回的结果状态,一般使用 `RESULT_OK` 或 `RESULT_CANCELED`。
- `onActivityResult()` 方法中的参数要和第二个 Activity 中的 `setResult()` 方法中的参数保持一致。
阅读全文