活動:的Android - 片段.replace()不替換內容 - 把它放在頂部
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Fragment1 fragment = new Fragment1();
Fragment2 fragment2 = new Fragment2();
transaction.replace(R.id.Fragment1, fragment);
transaction.addToBackStack(null);
transaction.commit();
FragmentTransaction transaction2 = getSupportFragmentManager().beginTransaction();
transaction2.replace(R.id.Fragment1, fragment2);
transaction2.addToBackStack(null);
transaction2.commit();
代碼在視圖中:
<fragment
android:id="@+id/Fragment1"
android:name="com.landa.fragment.Fragment1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="@+id/include1" />
的問題是,內容不真的被取代 - 它被放在最上面(所以它重疊)。
當我點擊後,第一個片段得到正確顯示(沒有第二個),但最初都是可見的(我只希望最後一個可見)。
我在這裏錯過了什麼?
使用'FrameLayout'作爲容器比使用'LinearLayout'好。 – 2014-02-11 13:03:57
在活動中使用一個空的FrameLayout也解決了我的問題 – 2016-02-08 12:48:34
它的工作原理是這樣的。但是當我開始我的應用程序並立即按下後退按鈕時,我最終處於片段爲空的狀態,而不是退出應用程序? – MasterScrat 2017-02-08 14:16:13