我想启动另一个 Activity 并从具有一个字段的类中按类型 ViewGroup 发送一个对象。
这里是类(class):
public class SerializableObject implements Serializable {
public ViewGroup parent;
public SerializableObject(ViewGroup parent){
this.parent = parent;
}
public ViewGroup getParent(){
return this.parent;
}
}
这里的调用:
Intent i = new Intent(thisContext,CordovaViewer.class);
i.putExtra("KEY",obj);
cordova.getActivity().startActivity(i);
我收到错误:
Parcelable写入可序列化对象时遇到IOException
最佳答案
您无法在 Activity 之间发送 View 。每个 View 都附加到其自己的 Activity (其上下文)。如果您尝试在一个 Activity 中使用由另一个 Activity 创建的 View ,则会面临内存泄漏和崩溃的风险。
只需发送在接收 Activity 中重新创建对象所需的数据即可。
您可以使用仅包含必要数据的简单 Serialized 类来完成此操作,或者只需为需要传递的每条数据设置 Extra 即可。
关于java - 如何将可序列化类发送到具有所有字段的其他 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42437640/