【发布时间】:2016-12-03 22:39:40
【问题描述】:
我创建了一个名为 Task 的 Parcelable 对象,如下所示
public final class Task implements Parcelable {
// Lots of code, including parceling a single task
}
我已经为单个任务编写了所有 Parcelable 代码。但现在我正在开展一项需要一系列任务的新活动。一方面,我可以创建一个任务列表
public class TaskList implements Parcelable {
List<Task> taskList;
// other stuff
}
但这意味着我必须创建一个新对象并重写很多 Parcelable 逻辑(即使它几乎相同)。相反,如果我能以某种方式传递一组任务,那就太好了。但我看到的唯一功能就是这个。
public static final Parcelable.Creator<Task> CREATOR = new Parcelable.Creator<Task>() {
public Task createFromParcel(Parcel in) {
return new Task(in);
}
// This one......
public Task[] newArray(int size) {
return new Task[size];
}
// This one......
};
而且我不确定 Parceable 将如何使用此函数来处理一组任务。如何传递任务数组而不是创建任务列表?
【问题讨论】:
-
首先有一个插件可以为你的对象生成parcelable代码,它会节省你的时间,其次你需要做的是通过parcelable数组将它添加到intent by (intent.putParcelableArrayListExtra(TASK_LIST ,任务列表);
标签: android arrays parcelable