Android Studio:对象的SavedInstanceState不起作用

时间:2017-07-13 17:57:59

标签: java android serialization onsaveinstancestate

我有一个名为&#34; MemoryCard&#34;的自制对象,它实现了 View.OnClickListener 可序列化并扩展为活动< /强>

我将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");
    }

但我总是得到我的App停止的异常。我有什么问题或者MemoryCard没有任何扩展或实施的东西吗?

1 个答案:

答案 0 :(得分:1)

你应该在超级方法调用之前加上

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

    }