我如何发送和接收有意图的ArrayList?例如:
ArrayList<model> m=new ArrayList<model>();
ArrayList包含字符串boolean和...
我试过这个:
intent.putParcelableArrayListExtra(DATA,(ArrayList<? extends Parcelable>) m)
答案 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
对象发送任何对象应该实现Serializable
或Parcelable
。您的model
课程应该实施Serializable
或Parcelable
。
要通过ArrayList
Intent
发送ArrayList
内的所有对象实施 Serializable
或Parcelable
查看Parcelable和Serialization教程。