上传导航和保存的实例数据

一个应用程序有2个活动,A和B.

A具有保存的实例数据

@Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt("foo", 0); } 

和A有

 int bar; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ... if (savedInstanceState != null) { bar = savedInstanceState.getInt("foo"); } else { bar = -1; } } 

恢复数据。

活动B已启用操作栏

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActionBar().setDisplayHomeAsUpEnabled(true); // ... } 

启用导航。 此外,A在AndroidManifest.xml被列为B的父活动。

当用户从A导航到B onSaveInstanceState被调用时,如果他们使用后退button导航回到A ,则活动A正确地恢复其保存的信息。

但是,当用户从A导航到B时, onSaveInstanceState被调用,然后向上导航被用于返回到A,即使信息被保存, onCreate(Bundle savedInstanceState)也会被传递null

我如何起床导航来传递在onSaveInstanceState创build的Bundle?