返回导航到最后片段

时间:2016-03-25 20:50:40

标签: android android-fragments tabs up-navigation

我的ViewPager中有两个片段作为标签。这些共享工具栏。单击工具栏上的图标可以访问SettingsActivity。 因此,您可以访问SettingsActivity,而片段A是可见片段,或片段B是可见片段。 当我从SettingsActivity导航回片段时,通过单击工具栏中的向上按钮(actionBar.setDisplayHomeAsUpEnabled(true);),我希望片段可见,当我访问SettingsActivity时我看到了。 没有任何特殊代码(=当前状态),它似乎总是返回到ViewPager中的第一个片段(即最左边的片段)。 向上导航的父活动是MainActivity,我将ViewPager的2个碎片作为选项卡。

2 个答案:

答案 0 :(得分:0)

使用状态保存回调来保存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"));
    }
}

答案 1 :(得分:0)

将您的片段保存到Backstack。这样,片段的后退按钮将与为活动运行时相同。

此处:http://developer.android.com/training/implementing-navigation/temporal.html