Iam工作在一個頁面上,我有三個按鈕像標籤一樣工作,當點擊其中一個按鈕時,行爲應該是下面的FrameLayout(片段容器)應該用預期的替換片段一。FragmentTransaction替換隻能工作一次
,所以容器示出了第一片段,(這工作正常):
ProductDetailInformacoesFragment infoFragment = new ProductDetailInformacoesFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.product_detail_fragment_container, infoFragment);
然後我有一個switch語句即呼叫不同聽衆的按鈕,所以顯示正確的片段:
public void switchFragment(int fragmentPos)
{
switch (fragmentPos){
case 0:
ProductDetailInformacoesFragment infoFragment = new ProductDetailInformacoesFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.product_detail_fragment_container, infoFragment);
ft.commit();
break;
case 1:
ProductDetailCaracteristicasFragment caracteristicasFragment = new ProductDetailCaracteristicasFragment();
FragmentTransaction ftt = getSupportFragmentManager().beginTransaction();
ftt.replace(R.id.product_detail_fragment_container, caracteristicasFragment);
ftt.commit();
break;
case 2:
ProductDetailAvaliacoesFragment avaliacoesFragment = new ProductDetailAvaliacoesFragment();
FragmentTransaction fttt = getSupportFragmentManager().beginTransaction();
fttt.replace(R.id.product_detail_fragment_container, avaliacoesFragment);
fttt.commit();
break;
default:
break;
}
}
XML:
<FrameLayout
android:id="@+id/product_detail_fragment_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/base_view"
android:background="@android:color/white"/>
問題是當我在其中一個選項卡單擊,片段容器成爲空(白)和所需的片段沒有顯示,無論我點擊其中一個(甚至是一個已經示出)。 我在做什麼錯? - 我試過設置ft.addToBackStack(null)沒有幫助。