我的ViewPager中有两个片段作为选项卡。这些共享一个工具栏。单击工具栏上的图标,即可进入设置活动。因此,您可以在片段A可见或片段B可见时访问SettingsActivity。当我从SettingsActivity导航回片段时,通过单击工具栏中的向上按钮(actionBar.setDisplayHomeAsUpEnabled(true);),我想让片段可见,这是我访问SettingsActivity时可见的。如果没有任何特殊代码(=当前状态),它似乎总是返回到ViewPager中的第一个片段(即最左边的片段)。向上导航的父活动是MainActivity,在这里我有一个ViewPager,其中有两个片段作为选项卡。
使用状态保存回调保存MainActivity:的状态
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("SELETED_TAB_INDEX", mSelectedTabIndex);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState != null) { // so the activity is being restarted
pager.setCurrentItem(savedInstanceState.getInt("SELETED_TAB_INDEX"));
}
}
将片段保存到backpack。这样,片段的后退按钮将和活动的运行方式相同。
此处:http://developer.android.com/training/implementing-navigation/temporal.html