Несколько фрагментов в одном пространстве? - PullRequest
1 голос
/ 07 декабря 2011

Я разрабатываю приложение для Android с фрагментами, которые имеют много возможных потоков.С простым Activity потоком он может выглядеть так:

A -> B -> E
A -> C -> E
A -> D -> E

С фрагментами я бы хотел сделать то же самое с экраном, разделенным на три части.Вопрос, который я задаю, заключается в следующем: в моем файле XML макета, как мне представить пространство, которое может быть заполнено одним из трех разных фрагментов?

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Взгляните на FragmentTransaction.add() функцию:

public abstract FragmentTransaction add (int containerViewId, ... )
...
containerViewId - Необязательный идентификатор контейнера, в который должен быть помещен этот фрагмент. Если 0, он не будет помещен в контейнер.

Другими словами, просто создайте любой пустой GroupView в макете xml и передайте идентификатор этой группы в эту функцию при добавлении фрагмента. Затем удалите его, когда он вам больше не нужен.

1 голос
/ 07 декабря 2011

Если вам не нужно заменять фрагменты в своей деятельности, вы можете поместить объявление фрагмента прямо в XML.

<fragment
    android:name="com.mypackage.ui.MyFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/myfragment_Fragment">
</fragment>
...