Добавление фрагмента методом add () не скрывает предыдущие фрагменты - PullRequest
5 голосов
/ 03 июня 2011

Я испытываю "неожиданное поведение" при использовании метода add () для добавления нового фрагмента.

Я хочу добавить новый фрагмент в FrameLayout, но когда я делаю это, предыдущий фрагмент все еще виден.

  • Это ожидаемый результат при использовании метода add ()?

  • Это потому, что я использую метод FrameLayout и add ()просто поместите фрагмент поверх FrameLayout, не затрагивая предыдущий?

Thx

Ответы [ 2 ]

8 голосов
/ 04 июня 2011

Не ошибка. Попробуйте заменить (..). вместо этого добавление в задний стек при необходимости.

РЕДАКТИРОВАТЬ Я думаю, что использование replace или remove() add() решит вашу проблему, но, как вы выделите в своей связанной записи , есть ошибка, которая проявляется под вашим конкретным набором обстоятельств.

3 голосов
/ 02 сентября 2011

Другая простая вещь, которую вы можете сделать, это позвонить

FragmentTransaction t = getFragmentManager.beginTransaction();
t.hide(<your_fragment>);
t.add(<container, <new_fragment>);
..do the rest here..
t.commit();

Дайте мне знать, если это поможет.

...