1

所以我在 SO 和网络上的其他地方(例如https://sites.google.com/site/jalcomputing/home/mac-osx-android-programming-tutorial/saving-instance -状态)。但我还是不明白。所以这是我的场景。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);
}

但在这里它是空的。

关于如何解决这个问题的任何意见?

4

1 回答 1

0

尝试交换你的超级电话:

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

}
于 2013-11-08T21:05:53.263 回答