java - Android Studio : SavedInstanceState of object doesn't work

标签 java android serialization onsaveinstancestate

我有一个名为“MemoryCard”的自制对象,它实现了View.OnClickListenerSerialized,并扩展到Activity

我将 MemoryCard card; 声明为 onCreate() 方法之外的数据字段,并且 我的 onSaveInstanceState 方法如下所示:

   @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putSerializable("CARD", card);
    }

在我的OnCreate展台内

    if (savedInstanceState == null) {
        card = new MemoryCard(this, 0, 1, R.drawable.testImage); // given parameters
    }
    else {
        card = (MemoryCard) savedInstanceState.getSerializable("CARD");
    }

但我总是遇到我的应用程序停止的异常。我是否有什么问题或者 MemoryCard 不能扩展或实现任何内容?

最佳答案

你应该放在 super 方法调用之前

@Override
    public void onSaveInstanceState(Bundle outState) {
        outState.putSerializable("CARD", card);
        super.onSaveInstanceState(outState);

    }

关于java - Android Studio : SavedInstanceState of object doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45087921/

相关文章:

java - 如何在java上用if语句结束一个结果?

java - 同一 servlet URL 的多个 URL 映射产生错误

c++ - 尝试通过 tcp 发送 vector

java - 为什么枚举在java中的序列化方式不同

java - 在布局中强制 RecyclerView 到页面底部

java - Android 在将图像上传到 Web 服务器时抛出空点异常

java - 无法弄清楚如何获得相对布局的中心

java - 用 Java 解析稍微复杂一点的 JSON

android - 如何在android中获得基于颜色的复杂区域?

javascript - 使用 Backbone.js 将表单输入序列化为 JSON