返回活动后,savedInstanceState为null

时间:2013-11-08 20:16:11

标签: java android android-activity

所以我已经在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);
}

但这里它是空的。

有关如何解决此问题的任何意见?

1 个答案:

答案 0 :(得分:0)

尝试交换超级电话:

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putLong("important value", data);
    System.out.println("testing: " + data);

}