ArrayList是在类级别定义的。
这些是我的saveInstance方法:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putStringArrayList("savedList", list);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
list=savedInstanceState.getStringArrayList("savedList");
}
但是仍然,当我改变方向时,ArrayList是空白的
最佳答案
当您使用onRestoreInstanceState()
还原状态时,它会在onStart()
之后调用,因此在定义适配器后,将使用保存的状态更新列表。最好的选择是使用onCreate()
还原列表,方法是用onRestoreInstanceState()
还原列表。您也可以重新定义适配器或调用notifyDataSetChanged()
。