android intent传递 list对象
时间: 2023-11-26 20:03:21 浏览: 92
如果你想在 Android 中使用 Intent 传递 List 对象,你需要确保该对象序列化,然后将 List 对象放入 Intent 的 extras 中。
首先,你需要确保 List 中的对象实现了 Serializable 或 Parcelable 接口。Parcelable 更高效,但是 Serializable 更容易实现。以下是一个实现 Serializable 接口的示例类:
```
public class MyObject implements Serializable {
private int id;
private String name;
public MyObject(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
}
```
然后,你可以将 List 对象放入 Intent 的 extras 中:
```
List<MyObject> myList = new ArrayList<>();
myList.add(new MyObject(1, "John"));
myList.add(new MyObject(2, "Jane"));
Intent intent = new Intent(this, MyActivity.class);
intent.putExtra("myList", (Serializable) myList);
startActivity(intent);
```
最后,在接收 Intent 的 Activity 中,你可以从 extras 中获取 List 对象:
```
List<MyObject> myList = (List<MyObject>) getIntent().getSerializableExtra("myList");
```
如果你的对象实现了 Parcelable 接口,你可以使用以下代码将 List 对象放入 Intent 的 extras 中:
```
List<MyObject> myList = new ArrayList<>();
myList.add(new MyObject(1, "John"));
myList.add(new MyObject(2, "Jane"));
Intent intent = new Intent(this, MyActivity.class);
intent.putParcelableArrayListExtra("myList", (ArrayList<MyObject>) myList);
startActivity(intent);
```
最后,在接收 Intent 的 Activity 中,你可以从 extras 中获取 List 对象:
```
List<MyObject> myList = getIntent().getParcelableArrayListExtra("myList");
```
阅读全文