如何使用intent发送对象的ArrayList

时间:2018-01-28 08:38:16

标签: android android-intent arraylist

我如何发送和接收有意图的ArrayList?例如:

ArrayList<model> m=new ArrayList<model>();

ArrayList包含字符串boolean和...

我试过这个:

intent.putParcelableArrayListExtra(DATA,(ArrayList<? extends Parcelable>) m)

3 个答案:

答案 0 :(得分:1)

将arraylist放入 Bundle 赞:

ArrayList<String> images=new ArrayList<>();    
Bundle bundle = new Bundle();
bundle.putSerializable("images", (Serializable) images);

然后加入意图。

答案 1 :(得分:1)

假设ArrayList<Model>

要使用putParcelableArrayListEtra(),您需要Model类来实现Parcelable接口。这涉及很多样板代码,但是,您可以使用plugin for Android Studio自动生成该代码。

另一个选择是,使Model类实现Serializable并使用putSerializable()

答案 2 :(得分:1)

通过Intent对象发送任何对象应该实现SerializableParcelable。您的model课程应该实施SerializableParcelable

要通过ArrayList Intent发送ArrayList内的所有对象实施 SerializableParcelable 查看ParcelableSerialization教程。