Android 如何将数组从当前页面传给另一个页面
时间: 2023-05-25 07:07:02 浏览: 53
有多种方法可以将数组从当前页面传递给另一个页面,以下是其中两种常见的方法:
1. 使用 Intent
在当前页面中创建一个 Intent 对象,使用 putExtra 方法将数组传递给 Intent 对象,设置好要跳转的页面,并调用 startActivity 方法实现页面跳转。在另一个页面中使用 getIntent 方法获取 Intent 对象,使用 getExtra 方法获取传递过来的数组。
在当前页面:
```java
String[] myArray = {"apple", "banana", "orange"};
Intent intent = new Intent(this, AnotherActivity.class);
intent.putExtra("MY_ARRAY", myArray);
startActivity(intent);
```
在另一个页面:
```java
Intent intent = getIntent();
String[] myArray = intent.getStringArrayExtra("MY_ARRAY");
```
2. 使用 Bundle
可以使用 Bundle 对象来传递数据,Bundle 对象实际上是一个映射,其中可以存储任何类型的数据,包括数组。在当前页面中创建一个 Bundle 对象,使用 putStringArray 方法将数组存入 Bundle 对象,使用 setArguments 方法将 Bundle 对象与 Fragment 绑定,并跳转到另一个页面;在另一个页面中使用 getArguments 方法获取 Bundle 对象,使用 getStringArray 方法获取传递过来的数组。
在当前页面:
```java
String[] myArray = {"apple", "banana", "orange"};
Bundle bundle = new Bundle();
bundle.putStringArray("MY_ARRAY", myArray);
AnotherFragment fragment = new AnotherFragment();
fragment.setArguments(bundle);
getSupportFragmentManager().beginTransaction().replace(R.id.container, fragment).commit();
```
在另一个页面:
```java
Bundle bundle = getArguments();
String[] myArray = bundle.getStringArray("MY_ARRAY");
```