0

我有以下的XML我的活動更換片段

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/home_root" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <br.com.digitalpages.shelves.view.TopBar 
     android:layout_width="match_parent" 
     android:layout_height="60px" /> 

    <LinearLayout 
     android:id="@+id/fragment_container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" > 

     <fragment 
      android:id="@+id/fragment_categories" 
      android:layout_width="240px" 
      android:layout_height="match_parent" 
      android:name="br.com.digitalpages.shelves.fragment.TreeCategoryFragment" /> 

     <fragment 
      android:id="@+id/fragment_library" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:name="br.com.digitalpages.shelves.fragment.LibraryFragment" /> 
    </LinearLayout> 

    <fragment 
     android:id="@+id/fragment_bottom_bar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:name="br.com.digitalpages.shelves.fragment.BottomBarFragment" /> 

</LinearLayout> 

在上點擊Bottom_Bar我需要跨越舊片段的空間,另一個片段取代fragment_categories和fragment_library。

我該怎麼做?

我想:

 FragmentTransaction trans = getFragmentManager().beginTransaction(); 
     trans.remove(categoryExplorerFragment); 
     trans.remove(libraryFragment); 
     trans.add(R.id.fragment_container, new LibraryFragment()); 
     trans.commit(); 

但是當我點擊,只有libraryFragment消失,僅此而已發生。

回答

0

改爲使用替換方法;

FragmentTransaction trans = getFragmentManager().beginTransaction(); 
trans.replace(R.id.fragment_container, new LibraryFragment()); 
trans.commit(); 
+0

相同的結果PS:fragment_container是LinearLayout,它具有兩個應該被一個 – 2012-01-30 18:55:29