Task ta = new Task(n, o, t, v, subList);
Intent i = new Intent(this, ActivityList.class);
i.putExtra("task", ta);
startActivity(i);
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(taskName);
dest.writeByte((byte) (soundCueOne ? 1 : 0));
dest.writeByte((byte) (soundCueTwo ? 1 : 0));
dest.writeByte((byte) (vibrCue ? 1 : 0));
dest.writeSerializable(myList);
}
private Task(Parcel in) {
this.taskName = in.readString();
this.soundCueOne = in.readByte() != 0;
this.soundCueTwo = in.readByte() != 0;
this.vibrCue = in.readByte() != 0;
this.myList = (ArrayList<Subtask>) in.readSerializable();
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public Task createFromParcel(Parcel in) {
return new Task(in);
}
public Task[] newArray(int size) {
return new Task[size];
}
};
有人能看到代码出了什么问题吗?很明显,它就在某个地方,甚至可能在子任务类中,因为一构造任务并尝试打包它,仿真器就会崩溃。
如果我没看错,那么问题是您试图将ArrayList
用作可序列化的,尽管它不是可序列化的--它是可Parcelable的。
因此,改为
dest.writeSerializable(myList);
与
dest.writeTypedList(myList);
this.myList = (ArrayList<Subtask>) in.readSerializable();
this.myList = in.readTypedList(new ArrayList<Subtask>(), Subtask.CREATOR);
我试图在包中保存对象的ArrayList(列表搁置项),以便下次打开活动时检索它。 (活动从firestore获取信息,我想减少每次打开活动时的读取次数并缩短加载时间)。 但我得到了这个错误信息: “android.os.Bundle”中的putParcelableArrayList(java.lang.String,java.util.ArrayList)不能应用于“(java.lang.Str
我正在使用一个可打包对象来传递一个意图。我的对象看起来是这样的 公共类配方实现Parcelable{private List Recipe=null;private List firedents=null;private String preparation; 我调试了这部分代码,我知道sendRecipe对象是实例化的,数据是正确的。所以我把这个东西放在意向性上,然后把它发送到下一个活动 在这个
本文向大家介绍Android中的Parcelable序列化对象,包括了Android中的Parcelable序列化对象的使用技巧和注意事项,需要的朋友参考一下 今天查阅资料,简单了解了一下Parcelable接口,它是android提供的序列化对象的接口,比java中的 Serializable高效些。通过这个接口序列化对象主要有两步: 1.实现public void writeToParcel(
问题内容: 我有一个ConstantData类,该类保存我的JSON索引,我需要在活动之间附加传递它们。但在此之前,我必须首先对此类的对象实现Parcelable。 我的问题是,如何在这里的类中声明对象并将每个对象放入变量中? 我是新手,现在我一无所有。谢谢。请随意在下面修改我的代码。 ConstantData.java 如果我的问题不够清楚,您可以查找以下问题:如何使用Intent将对象从一个A
在我的Android应用程序中,我想将我的自定义对象传递给另一个活动。我正在使用意图 在调用活动 我也在我的模型类中实现了Serilizable。但是当我运行应用程序时,它显示 JAVAlang.RuntimeException:Parcelable在写入可序列化对象时遇到IOException 日志显示了这一点
问题内容: 我想使用实现的DataWrapper将ArrayList对象传递给另一个活动。 我遵循此处提供的答案:将用户定义对象的arraylist传递给Intentandroid。 我开始从另一个活动库的。这就是我传递ArrayList对象的方式: 我实现了DataWrapper类,如下所示: 并得到错误。这是我的Logcat: 我在上面的链接中遵循了答案(通过数组列表对象),但得到了错误,是什