2012-05-27 16 views
1

我按照Action bar tutorial在Android開發人員網站如何建立內部的各個導航選項卡

ActionBarActivity.classonCreate我添加標籤這樣的片段2片段;

Tab tab = actionBar.newTab() 
      .setText(R.string.artist) 
      .setTabListener(new TabListener<ArtistFragment>(
        this, "artist", ArtistFragment.class)); 
    actionBar.addTab(tab); 

所以,我會ArtistFragment extend Fragment,但我不知道如何添加2片段(ListFragment和DetailFragment)內ArtistFragment將裏面ArtistFragment.class什麼?

enter image description here

回答

1

Android不支持在片段的片段(現在)。您應該嘗試製作支持2個與您的活動進行通信的片段的佈局,而不是1個片段,它處理這兩個片段都會執行的工作。

+0

現在它支持它嗎? – Shruti

+0

@Shruti http://developer.android.com/about/versions/android-4.2.html#NestedFragments – Tarun

2

Warpzit說什麼。根據Android: Can you nest Fragments?,碎片不能嵌套。您的片段可以通過觸及其父級活動而導致另一片段被實例化。我通常不會推薦這一點,因爲碎片應該是封裝的一個單元。但是,如果你的碎片緊密結合(例如,對應於列表項目的細節顯示),我可以看到它。

您的代碼將是這個樣子:

  FragmentManager fm = getActivity().getSupportFragmentManager(); 
      MyFragmentClass myFragment = new MyFragmentClass(); 
      fm.beginTransaction().add(android.R.id.content, myFragment).commit(); 
0

我發現從API演示項目FragmentTabs例子是非常有用的。

只需從Eclipse中創建一個新的Android示例項目並選擇API演示(嘗試API 13)即可。此外,對於支持(兼容性)庫,Support4Demos中還有一個FragmentTabs演示版

相關問題