Jeśli używasz framelayouts do przechowywania swoich fragmentów, jest taki sam, jak te, o których wspomniałeś. Po prostu stwórz swój fragment (bez względu na układ) i zamień go na framelayout zamiast drugiego.
Jeśli zakodowałeś na stałe swoje fragmenty w pliku XML, nie będziesz mógł tego zrobić (o ile udało mi się ustalić).
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frames"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/hline1"
android:layout_below="@id/horizontalline"
android:orientation="horizontal" >
<FrameLayout
android:id="@+id/leftpane"
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight=".4" />
<TextView
android:id="@+id/verticalline"
android:layout_width="2dp"
android:layout_height="match_parent"
android:background="@color/bar_background"
android:gravity="center_horizontal"
android:paddingLeft="5dip"
android:paddingRight="5dip" />
<FrameLayout
android:id="@+id/rightpane"
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="1" >
</FrameLayout>
</LinearLayout>
Następnie należy użyć identyfikatora dla framelayout oraz nazwę swojego wystąpienia fragmentu umieścić fragment do framelayout.
EventListFragment eventlist = new EventListFragment();
getFragmentManager().beginTransaction().replace(R.id.leftpane, eventlist).commit();
EventDetailFragment eventadd = new EventDetailFragment();
getFragmentManager().beginTransaction().replace(R.id.rightpane, eventadd).commit();
Gdy chcesz zmienić zawartość, ponownie zrobić to samo (co następuje zastąpi fragment w prawym panelu z nowego/innego fragmentu, który może mieć swój własny, odmienny, układ związany z it):
EventSuperDetailFragment eventsuper = new EventSuperDetailFragment();
getFragmentManager().beginTransaction().replace(R.id.rightpane, eventsuper).commit();
Bardzo dziękuję za pomoc! Koncepcja fragmentów jest dla mnie zupełnie nowa. Czy mógłbyś zilustrować swój punkt za pomocą prostego przykładu? –
Zaktualizowałem swoją odpowiedź, mam nadzieję, że wskaże ci to właściwy kierunek. Daj mi znać! – Barak
Dzięki Barak !!! Tak, zadziałało! Chciałem też wiedzieć, czy możliwe jest stworzenie fragmentu w obrębie fragmentu. –