Android studio中如何将多个不同activity中相同类型的数据传递到同一activity中
时间: 2024-02-21 12:00:27 浏览: 72
在 Android 中,可以使用 Intent 对象来在 Activity 之间传递数据。为了将多个不同 Activity 中相同类型的数据传递到同一个 Activity 中,可以在每个 Activity 中创建一个 Intent 对象,然后使用 putExtra() 方法将数据添加到 Intent 中,最后在目标 Activity 中使用 getIntent() 方法获取 Intent 对象,然后使用 getXXXExtra() 方法获取数据列表,其中 XXX 表示要获取的数据类型,如 getStringArrayListExtra()、getIntegerArrayListExtra() 等。
具体步骤如下:
1. 在源 Activity 中创建一个 Intent 对象,并使用 putExtra() 方法将数据添加到 Intent 中。假设要传递多个字符串数据。
```java
Intent intent1 = new Intent(this, TargetActivity.class);
ArrayList<String> data1 = new ArrayList<>();
data1.add("Hello");
data1.add("World");
intent1.putStringArrayListExtra("data", data1);
startActivity(intent1);
Intent intent2 = new Intent(this, TargetActivity.class);
ArrayList<String> data2 = new ArrayList<>();
data2.add("Android");
data2.add("Studio");
intent2.putStringArrayListExtra("data", data2);
startActivity(intent2);
```
2. 在目标 Activity 中使用 getIntent() 方法获取 Intent 对象,并使用 getXXXExtra() 方法获取数据列表。
```java
Intent intent = getIntent();
ArrayList<String> dataList = intent.getStringArrayListExtra("data");
```
注意:在使用 putExtra() 方法添加数据时,可以添加基本数据类型、String 类型、Parcelable 类型等数据,也可以添加数据列表。如果要传递不同类型的数据,则需要使用不同的键名(key)。如果需要传递自定义对象,则可以考虑使用 Bundle 对象或者通过其他方式实现。
阅读全文