gpt4 book ai didi

java - 如何使用 Intent 将具有不可序列化子对象的可序列化对象从一个 Android Activity 发送到另一个 Activity

转载 作者:行者123 更新时间:2023-11-29 20:56:30 28 4
gpt4 key购买 nike

我有一个带有不可序列化子类的可序列化类。我想将此类的对象从一个 android Activity 发送到另一个,但我不能。类(class)如下:

public class A implements Serializable{

/**
* generated serial version UID
*/
private static final long serialVersionUID = -3445290513860716092L;

private B b;

public A () {}

public B getB() {
return b;
}

public void setB(B b) {
this.b = b;
}
}

B类不可序列化

public class B{

private int ID;
protected String name;

public B() {}

...
}

我使用 Intent 的 putExtra 方法发送对象。

Intent i = new Intent(ActivityA.this, ActivityB.class);
A a = new A();
B b = new B();
b.setID(1);
b.setName("Name");
a.setB(b);
i.putExtra("object", a);
startActivity(i);

Activity 启动时发生错误。怎么了?

最佳答案

要序列化一个类,它的所有子类都必须是可序列化的。你不能用不可序列化的 child 来做。您必须使其所有子项(以及它们的子项)都可序列化。

关于java - 如何使用 Intent 将具有不可序列化子对象的可序列化对象从一个 Android Activity 发送到另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27547533/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com