我有一个有n个按钮的应用程序。每个按钮创建一个新片段并将其附加到视图。因此,如果我按顺序触摸按钮A,B,C,则片段FA,FB和FC被创建和堆叠:
FA,FB,FC
现在,如果我再次按下A,则会创建一个新的片段并堆叠,因此堆栈变为:
FA,FB,FC -> FA,FB,FC,FA
有没有一种方法可以从堆栈中检索一个现有的片段(如果存在的话),并将其放在前面?所以如果我有一叠
FA,FB,FC
并再次按下“A”按钮,FA片段将从backstack中移除并置于前端:
- FA*,FB,FC -> FB,FC,FA
如果我按下“C”,
FB,FC,FA -> FB,FA,FC
先谢了。
2条答案
按热度按时间w1e3prcc1#
要实现这一点,您需要在放置
Fragment
的位置获取父View
,或Fragment
的根。一旦有了它,只需调用每个View
都有的bringToFront()
方法,然后将View
移到前面。您可以使用上下文的
findViewById()
方法获取View
或View
的容器View
。tvokkenx2#
试试这个代码片段: