Android中,Intent怎么传递集合
时间: 2024-04-06 21:17:11
浏览: 90
抱歉,我可以回答这个问题。在Android中,Intent传递[集合](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)需要使用Bundle类,将[集合](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)打包成Bundle对象,并将其作为额外的数据放入Intent中传递。具体可以参考以下代码实现:
// 创建一个Bundle对象
Bundle bundle = new Bundle();
// 将ArrayList[集合](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)封装进Bundle对象中
bundle.putStringArrayList("list", list);
// 创建一个Intent对象
Intent intent = new Intent();
// 将Bundle对象放入Intent中
intent.putExtras(bundle);
其中,list为要传递的[集合](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083),可以根据实际需求传递不同类型的[集合](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)。在接收方获取集合时,可以使用以下代码:
// 获取传递过来的Bundle对象
Bundle bundle = getIntent().getExtras();
// 从Bundle对象中获取ArrayList集合
ArrayList<String> list = bundle.getStringArrayList("list");
注意,在获取集合时,需要指定集合元素的类型,并且key要和传递时保持一致。
相关问题
android intent 传递各种结构数据
Android中的Intent可以传递各种结构数据,包括以下类型:
1. 基本数据类型:int, float, double, boolean等。
2. 字符串和字符序列:String, CharSequence等。
3. 序列化对象:实现了Serializable接口的对象,如Java中的普通对象、
编写一个Android Studio示例 能够实现Intent传递数组、Intent传递集合、Intent传递对象、Intent传递Bitmap,给出详细代码
好的,下面是一个Android Studio示例,可以实现Intent传递数组、Intent传递集合、Intent传递对象、Intent传递Bitmap。其中,我定义了一个Person类,用于演示Intent传递对象;另外,我在MainActivity中编写了四个方法,每个方法分别实现了一种Intent传递方式。
1. Intent传递数组:
```java
public void intentWithArray() {
String[] array = new String[]{"item1", "item2", "item3"};
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("array", array);
startActivity(intent);
```