Android FragmentTransaction, вкладки ActionBar и несколько фрагментов - PullRequest
2 голосов
/ 07 июля 2011

Итак, я создаю приложение для планшета с библиотекой совместимости и столкнулся со странностью, которую, похоже, не могу понять. Все в одном упражнении у меня есть 2 вкладки (вкладка A и вкладка B) и 3 фрагмента (фрагменты A1, A2 и B). ActionBar.TabListener, связанный с Tab A, обрабатывает добавление и удаление фрагментов A1 и A2, а ActionBar.TabListener, связанный с Tab B, обрабатывает добавление и удаление Tab B. Пока все хорошо.

Странное поведение проявляется, когда я запускаю действие (поэтому выбрана вкладка A, а фрагменты A1 и A2 отображаются слева направо, правильно) щелкните вкладку B (чтобы удалить фрагменты A1 и A2 и отобразить фрагмент B , все еще правильно), а затем нажмите на вкладку A! Теперь отображаются фрагменты A1 и A2, но в обратном порядке: A2 и затем A1!

Кто-нибудь испытывал эту странность? Если я выберу вкладку B, а затем снова вкладку A, они снова развернутся в правильном порядке, и цикл продолжится. Согласно этой статье , «если вы добавляете несколько фрагментов в один и тот же контейнер, то порядок их добавления определяет порядок их отображения в иерархии представления», что, как ни странно, не кажется будь то случай сейчас делает это.

Есть идеи? Заранее спасибо!

1 Ответ

3 голосов
/ 07 июля 2011

Согласно этой статье, «если вы добавляете несколько фрагментов в один контейнер, то порядок их добавления определяет порядок их отображения в иерархии представления», что, как ни странно, не так сейчас делает это.

Лично я бы на это не рассчитывал.

Например, предположим, что вы используете горизонтальный LinearLayout. Ваш текущий код предположительно помещает оба фрагмента в LinearLayout. Я подхожу к этому так, чтобы два FrameLayouts уже были в LinearLayout, и помещали каждый фрагмент в один из FrameLayouts.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...