我有一个名为“MemoryCard”的自制对象,它实现了View.OnClickListener和Serialized,并扩展到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/