Android 把现有的碎片放在前面

Android 把现有的碎片放在前面,android,android-fragments,back-stack,Android,Android Fragments,Back Stack,我有一个有n个按钮的应用程序。每个按钮创建一个新片段并将其附加到视图。因此,如果我按顺序触摸按钮A、B、C,将创建并堆叠片段FA、FB和FC: 足总、足总、足总 现在,如果我再次按下A键,将创建并堆叠一个新片段,因此堆栈将变为: FA,FB,FC->FA,FB,FC,FA 有没有办法从堆栈中检索现有片段(如果存在)并将其放在前面?所以如果我有一堆 足总、足总、足总 然后再次按下“A”按钮,将FA碎片从背面移除并放在前面: FA,FB,FC->FB,FC,FA 如果我按“C”,堆栈将变为 FB,F

我有一个有n个按钮的应用程序。每个按钮创建一个新片段并将其附加到视图。因此,如果我按顺序触摸按钮A、B、C,将创建并堆叠片段FA、FB和FC:

足总、足总、足总

现在,如果我再次按下A键,将创建并堆叠一个新片段,因此堆栈将变为:

FA,FB,FC->FA,FB,FC,FA

有没有办法从堆栈中检索现有片段(如果存在)并将其放在前面?所以如果我有一堆

足总、足总、足总

然后再次按下“A”按钮,将FA碎片从背面移除并放在前面:

FA,FB,FC->FB,FC,FA

如果我按“C”,堆栈将变为

FB,FC,FA->FB,FA,FC


提前感谢。

要实现这一点,您需要获取父级
视图,查看您放置
片段的位置,或
片段的根。一旦有了它,只需调用每个
视图
都有的
bringToFront()
方法,就可以将该
视图
移到前面


您可以使用上下文的
findViewById()
方法获取
视图
视图的容器
视图

我建议阅读
FragmentManager
文档,看看是否有任何有用的方法。请检查此主题。希望它对我有所帮助,我最终制作了一个定制的后台堆栈管理器来处理所有片段实例。