我有一个 Singleton Data 类,用于存储数据。我在不同Fragment的 s 中访问它。
加载第一个时Fragment,Singleton 中的所有字段都是null. 当显示第二个时Fragment,它依赖于这些字段来显示其数据。第一个Fragment确保这些字段被初始化。
但是,当用户在第二个中按下主页按钮Fragment并在大约一个小时左右后再次打开它时,Singleton 已经丢失了所有数据,并且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?
}
欢迎任何帮助。