Вынести на передний план существующий фрагмент

У меня есть приложение с 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

Заранее спасибо.


person Ohmnibus    schedule 23.06.2014    source источник
comment
Я предлагаю прочитать FragmentManager документы, чтобы увидеть, есть ли там какие-либо полезные методы.   -  person Code-Apprentice    schedule 23.06.2014
comment
пожалуйста, проверьте эту тему. надеюсь, что это поможет вопросы/20737550/   -  person PedroHawk    schedule 23.06.2014
comment
В итоге я создал собственный Back Stack Manager, который обрабатывает все экземпляры фрагментов.   -  person Ohmnibus    schedule 28.06.2014


Ответы (1)


Для этого вам нужно получить родителя View, где вы разместили свой Fragment, или корень вашего Fragment. Получив его, просто вызовите метод bringToFront(), который есть у каждого View, и вы переместите этот View на передний план.

Вы можете получить свой View или контейнер View вашего View с помощью метода findViewById() вашего контекста.

person xarlymg89    schedule 29.03.2019