android 向上一个activity返回数据
时间: 2024-10-18 21:06:34 浏览: 27
一个Activity中多个ListView的整体滑动
在Android应用程序中,当一个Activity需要返回一些数据给调用它的前一个Activity时,通常会通过两种方式实现:
1. 使用Intent传递数据:
- **Intent extras**: 在启动新Activity之前,你可以将数据作为键值对添加到Intent中。然后在目标Activity中处理Intent并读取这些数据,使用`putExtra()`方法添加数据,`getSerializableExtra()`或`getStringExtra()`等方法获取数据。
```java
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("data_key", "your_data_value");
startActivity(intent);
```
2. 使用ForResult机制:
- 如果返回的数据不是很大或者不需要持久保存,可以使用 startActivityForResult()方法。在目标Activity完成操作后,调用setResult()设置结果码和数据,然后finish()结束自身。调用者Activity通过onActivityResult()回调接收结果。
```java
// 在FirstActivity.java
startActivityForResult(startSecondActivity(), REQUEST_CODE);
// 在SecondActivity.java
setResult(RESULT_OK, "your_result_data");
finish();
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE) {
String result = data.getStringExtra("result");
// 处理返回的数据
}
}
private static final int REQUEST_CODE = 1;
```
阅读全文