所以我已经在SO上和网上的其他地方(例如https://sites.google.com/site/jalcomputing/home/mac-osx-android-programming-tutorial/saving-instance-state)读了很多关于这个主题的内容。但我仍然没有得到它。所以这是我的情景。 CatActivity正在运行。然后我通过单击操作栏中的图标并从抽屉中选择DogActivity拉出抽屉。从DogActivity开始,我从ChickenActivity开始,从而开始CatActivity。当我返回CatActivity时,我的savedInstanceState
为空。在我离开之前,我这样做了:
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putLong("important value", data);
System.out.println("testing: " + data);
super.onSaveInstanceState(outState);
}
但是当我返回时onRestoreInstanceState
没有被调用。所以我在onCreate
中尝试了手册:
if (savedInstanceState != null) {
data = savedInstanceState.getLong("important value");
System.out.println("important value returned: " + data);
}
但这里它是空的。
有关如何解决此问题的任何意见?
答案 0 :(得分:0)
尝试交换超级电话:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putLong("important value", data);
System.out.println("testing: " + data);
}