在我的代码中,我创建了一个卡片类;我稍后在网格视图中显示一堆卡片。在屏幕方向更改时,我丢失了所有卡片;在我之前的问题中,我被指出了正确的方向。
现在,我在 Android 文档和 StackO 中发现的是
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putInt(...);
super.onSaveInstanceState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
some_int_var = savedInstanceState.getInt(...);
super.onRestoreInstanceState(savedInstanceState);
}
现在,我这样做了,因为 Bundle 对象有几个方法,如 putString、Char 等。原语加上字符串。但是我的卡呢?它们是向量中的 Card 对象,因此我不能使用任何这些方法。
如何在不使用 onRetainNonConfigurationInstance 或阻止活动重置的情况下恢复该向量?在 Android 文档中,如果需要重新启动大量数据,建议执行此操作,但这不是我的情况。