java - 无法通过 Intent 将自制的可序列化对象传递给另一个 Activity

标签 java android object android-intent

我创建了一个对象,其中包含 ImageView、boolean 和 Integer 类型的数据字段。

public class MemoryCard implements View.OnClickListener, Serializable {

    private ImageView image;
    private int id;
    private int nr;
    private boolean clicked = false;
    private int cardBack;
    private int cardFront;

    public MemoryCard(Context context, int id, int nr, int cardFront)
    {
        this.id = id;
        this.nr = nr;
        this.cardBack = R.drawable.backside;
        this.cardFront = cardFront;
        this.image = new ImageView(context);
        this.image.setImageResource(this.cardBack);
        this.image.setOnClickListener(this);
    }
}

当我开始将对象从 MainActivity 发送到 SecondActivity 时,会发生错误并且我的应用程序停止运行。

Intent intent = new Intent(MainActivity.this, SecondActivity.class);

intent.putExtra("object", new MemoryCard(this, 0, 0, R.drawable.myImage));

startActivity(intent);

我认为这与MemoryCard构造函数的参数thisR.drawable.myImage有关,但为什么呢?

最佳答案

ImageView 可以序列化吗?仅当对象实现 Serialized 并且其所有成员均可序列化时,该对象才可序列化。

关于java - 无法通过 Intent 将自制的可序列化对象传递给另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45148045/

相关文章:

javascript - JS : Emptiness of Object of objects

java - HTTPUnit 中 HTML 元素的字符串表示形式

java - 我该如何解决这个 Java Generics 通配符/抽象歧义问题?

java - Android 使用哪种协议(protocol)将其屏幕转换到 Chrome Cast 等其他设备

android - Google (Play) sleep 模式下的位置服务更新间隔变化 (Android)

android - 增加 SeekBar 的触摸优先级

javascript - 如何根据对属性的引用确定父对象

java - 使用分隔符解析文本字符串

java - 使用适用于 Java 的 Azure 存储 SDK 将 VM 页面 blob 从一个 Azure 订阅复制到另一个 Azure 订阅

json - 我在 Eclipse 中的 .json 文件上收到 "Expected name at XX:YY"错误。怎么了?