【问题标题】:Maintain separate backstack for each tab (implemented with fragments)为每个选项卡维护单独的后台堆栈(使用片段实现)
【发布时间】:2012-05-25 07:43:34
【问题描述】:

我正在研究 FragmentsTabs,谁能告诉我,如何为每个选项卡维护单独的 backstack...?提前致谢。

【问题讨论】:

    标签: android android-fragments fragment android-tabhost


    【解决方案1】:

    最新的支持库包括嵌套片段。嵌套片段可用于为每个选项卡实现单独的回栈。

    您需要在每个父标签片段中包含一个子片段,并使用子片段而不是父片段添加到后台堆栈。

    您还需要覆盖 OnBackPressed,以便在必要时弹出当前活动选项卡片段的回栈。

    例如:

        public void onBackPressed()
        {
            if (!currentTabFragment.getChildFragmentManager().popBackStackImmediate())
            {
                super.onBackPressed();
            }
        }
    

    【讨论】:

      【解决方案2】:

      其实你做不到。 backstack 对于您的 fragments 运行的每个 Activity 都是唯一的。因此,IMO 唯一的办法就是拥有更多 Activity

      编辑:看我的问题here

      【讨论】:

      • 你看过 FragmentTabs 的例子吗?当他们添加选项卡时,他们将片段作为参数,而不是 FragmentActivity。因此问题来了。
      • 是的,我知道,实际上我并没有为您提供解决问题的方法。
      • 如果我使用 TabActivity 执行此操作,我可以维护单独的 backStack,但不幸的是,它在 4.0 中已弃用。
      • 一个活动组,每个活动都管理它的片段。但正如你已经说过的那样,它已被弃用
      • 有解决方法吗?我需要制作一个以一个 iOS 应用为模型的 Android 应用,因此需要它来导航。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 2023-03-15
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      相关资源
      最近更新 更多