我有一个单例数据类用来存储数据,我在不同的“Fragment”中访问它。当第一个“Fragment”加载时,单例中所有字段为“null”没有问题。当显示第二个“Fragment”时,它依赖这些字段来显示其数据。第一个“Fragment”确保初始化这些字段。然而,当用户在第二个“Fragment”中按Home键,并在一个小时左右再次打开它时,该单例已经丢失了所有数据,“Fragment”尝试访问“null”字段。我想实现“onSaveInstanceState”方法,但是我对其如何工作感到困惑 - 我没有数据实例可以分配给它。
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("DATA", Data.getInstance());
}
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
savedInstanceState.getSerializable("DATA"); //What to do with this?
}
欢迎提供任何帮助。