java - 如何将可序列化类发送到具有所有字段的其他 Activity ?

标签 java android serialization android-framelayout viewgroup

我想启动另一个 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/

相关文章:

python - django REST framework 多源字段

java - JSF 2.0 可以与 Websphere 应用程序服务器版本 7.x 一起使用吗

java - 简单的 JFileChooser FileFilter 不起作用

java - Neo4j 中的加权图

java - URLEncoder - 用于空白空间而不是 %20 或 + 的字符集

android - 升序排列的位置列表

暂停时 Android mediaPlayer seekTo 不工作

android - Facebook session 取消对话框

java - 如何使用 FileChannel 和 ByteBuffer 从文件中写入和读取 Java 对象中的字符串属性

javascript - 将表单序列化为不带空值的 json