0

我試圖設置一個平板電腦友好的界面。因此我有兩個導航選項卡,打開兩個碎片。 主要活動的onCreate:包含兩個ListFragments的片段

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    mActionBar = getActionBar(); 
    mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    Tab mainTab = mActionBar.newTab() 
      .setText("Articoli") 
      .setTabListener(new TabEventListener(new InListFragment(0))); 
    Tab favTab = mActionBar.newTab() 
      .setText("Preferiti") 
      .setTabListener(new TabEventListener(new TestFragment("Preferiti"))); 

    mActionBar.addTab(mainTab); 
    mActionBar.addTab(favTab); 

} 

這是我TabEvengListener:

public class TabEventListener implements TabListener { 
Fragment mFragment; 

public TabEventListener(Fragment fragment) { 
    mFragment = fragment; 
} 

public void onTabSelected(Tab tab, FragmentTransaction ft) { 
    ft.replace(android.R.id.content, mFragment, mFragment.getTag()); 
} 

public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
    ft.remove(mFragment); 
} 

public void onTabReselected(Tab tab, FragmentTransaction ft) { 
    //NOTHING ATM 
} 

}

現在,我指的是這個API演示:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentLayout.html在那裏我有一個活動與佈局包含一個或兩個片段,具體取決於屏幕狀態。問題來了:我沒有一個活動,但一個片段,我找不到任何方式來聲明一個佈局,以獲得兩個子片段。 我想 - 在平板電腦上 - 一個帶有兩個窗格的界面,一個帶有「標題列表」(對話列表),另一個帶有「詳細列表」(文本)。

我想知道是否有一種簡單的方法來做我所解釋的,或者我必須刪除導航選項卡,以便我可以使用活動而不是片段並遵循API演示。 在此先感謝。

回答

1

如果你看過documentation,你會發現這個定義

「A片段代表的行爲或活動的用戶界面的部分」和「片段必須始終嵌入活動」

所以我認爲答案是「不,你不能」

+0

是否可以使用活動,而不是片段的導航選項卡? – Gnufabio 2012-04-13 13:26:04

+0

是的,已棄用的TabHost和TabWidget,我不太喜歡這個解決方案。 – 2012-04-13 18:31:39