Fragment对临时数据的保存,仅仅依靠onSaveInstanceState方法是不行的,还需要在onDestoryView中进行相应操作,具体参考下面的代码。
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
saveData();
}
@Override
public void onDestroyView() {
super.onDestroyView();
saveData();
}
/**
* 保存临时数据
*/
private void saveData() {
Bundle bundle = new Bundle();
bundle.putBoolean("XXX", XXX);
getArguments().putBundle("bundle", bundle);
}
Fragment中对于一些持久性的数据,仍应在onPause中保存。