【发布时间】:2016-03-16 10:19:36
【问题描述】:
我是android开发的新手,请多多包涵。 我有三个片段——Frag1、Frag2 和 Frag3。 Frag1 是一种 ListView,具有在启动应用程序时创建的项目列表。 Frag2 和 Frag3 基本上对应 VideoViews,它们将用于播放来自不同播放器的不同视频。其中一个将播放内容视频,另一个将播放广告视频。
当我单击 Frag1 中的特定项目时,我想同时创建 Frag2 和 Frag3。我想同时拥有这两个片段,因为我可能必须随时播放广告。我会在播放广告时隐藏内容片段,反之亦然。 我还希望当按下后退按钮时,我应该返回 Frag1(listView),无论按下后退按钮时 Frag2 还是 Frag3 是否可见。
我无法清楚地弄清楚如何堆叠片段,以便每当我在播放广告或视频时按下返回按钮时,它都会转到 listView。因为如果我理解正确,片段会按照添加的顺序堆积起来。因此,如果我按 Frag1 后跟 Frag2 和 Frag3 的顺序添加,那么当 Frag3 在顶部时按回将转到 Frag2 而不是 Frag1。还说如果当前 Frag2 是可见的并且我按下返回,那么我认为 Frag3 仍然会保留,即使我希望 Frag2 和 Frag3 在我按下返回按钮时都会弹出。
请帮助我解决这个问题。任何正确解释此处使用的概念的链接也将受到赞赏。
【问题讨论】:
-
您可以使用 FragmentManager.popBackStack(String name, FragmentManager.POP_BACK_STACK_INCLUSIVE) 将所有片段从 backstack 弹出到指定的片段。
-
如果您没有同时使用 frag2 和 frag3,那么您可以在同一视图上显示添加视频和内容视频。