【问题标题】:Back Navigation to last Fragment返回导航到最后一个片段
【发布时间】:2016-07-13 16:11:15
【问题描述】:

我的 ViewPager 中有两个片段作为选项卡。它们共享一个工具栏。您可以通过单击工具栏上的图标进入 SettingsActivity。 因此,您可以在 Fragment A 是可见的,或者 Fragment B 是可见的时访问 SettingsActivity。 当我从 SettingsActivity 导航回片段时,通过单击工具栏中的向上按钮 (actionBar.setDisplayHomeAsUpEnabled(true);),我希望片段可见,我在访问 SettingsActivity 时已经可见。 如果没有任何特殊代码(= 当前状态),它似乎总是返回到 ViewPager 中的第一个片段(即最左边的片段)。 向上导航的父 Activity 是 MainActivity,其中我有带有 2 个片段作为选项卡的 ViewPager。

【问题讨论】:

    标签: android android-fragments tabs up-navigation


    【解决方案1】:

    将您的片段保存到后台堆栈。这样,片段的后退按钮将与活动的运行相同。

    这里:http://developer.android.com/training/implementing-navigation/temporal.html

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-22
        • 1970-01-01
        • 1970-01-01
        • 2020-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多