我有两个活动,在第一个活动中,我实现了一个Object myObject的ArrayList。在第二项活动中,我需要得到这个Arraylist。我不知道如何用意图做到这一点?
(对象是我创建的一个类)
提前致谢。
答案 0 :(得分:6)
如果你使用Object类实现Parcelabel,你可以将你的arraylist打包到你用意图发送的包中
请参阅this link以获取示例
答案 1 :(得分:1)
通常使用Bundle
个对象在Activities之间传递信息,但这些只允许使用简单的类型对象。通常,为了传递更复杂的对象类型,通常必须构造某种静态上下文并在其上设置值,然后可用于第二个活动。感觉很脏,但我现在已经在我的应用程序中克服了它。
答案 2 :(得分:1)
您的班级myObject
必须实施Parcelable。然后,您可以使用意图中的putParcelableArrayListExtra将其传递给下一个活动,并使用getParcelableArrayListExtra检索列表
答案 3 :(得分:0)
我这样用过。
<强>把强>
intent.putExtra("data", new DataWrapper(selectedTasks));
startActivity(intent);
获取:强>
DataWrapper dw = (DataWrapper) getIntent().getSerializableExtra("data");
ArrayList<SelectedTask> taskList = dw.getList();
Arraylist对象应该是Serializable
public class SelectedTask implements Serializable{
}
public class DataWrapper implements Serializable{
private ArrayList<SelectedTask> slist;
public DataWrapper(ArrayList<SelectedTask> data) {
this.slist = data;
}
public ArrayList<SelectedTask> getList() {
return this.slist;
}
}