2012-05-25 82 views
0

我在我的應用程序中使用了Tab-activity,但是現在這個類已經摺舊了,我怎樣才能用fragment來替換它。我也爲每個tabs實現了子選項卡。可以通過任何一個幫助我提供示例代碼來實現這些更改?我如何將tabActivity轉換爲片段

回答

0

僅在選項卡中使用操作欄。 ActionBarSherlock庫可以很容易地做到這一點。在ActionBarSherlock的示例中瀏覽TabNavigationCollapsed類。

public class TabNavigationCollapsed extends SherlockActivity implements ActionBar.TabListener { 
private TextView mSelected; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    setTheme(SampleList.THEME); //Used for theme switching in samples 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.tab_navigation); 
    mSelected = (TextView)findViewById(R.id.text); 

    getSupportActionBar().setDisplayShowHomeEnabled(false); 
    getSupportActionBar().setDisplayShowTitleEnabled(false); 
    getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    for (int i = 1; i <= 3; i++) { 
     ActionBar.Tab tab = getSupportActionBar().newTab(); 
     tab.setText("Tab " + i); 
     tab.setTabListener(this); 
     getSupportActionBar().addTab(tab); 
    } 
} 

@Override 
public void onTabReselected(Tab tab, FragmentTransaction transaction) { 
} 

@Override 
public void onTabSelected(Tab tab, FragmentTransaction transaction) { 
    mSelected.setText("Selected: " + tab.getText()); 
} 

@Override 
public void onTabUnselected(Tab tab, FragmentTransaction transaction) { 
} 

}

1

請查看以下鏈接

首先對如何建立使用片段標籤示例代碼(你幾乎可以按原樣使用它),後者是關於th的討論同樣。

+0

我試過這個和選項卡正在越來越多,但我想從主類獲取一些數據在片段類。同樣把額外的數據放入被調用的活動,我們如何在片段中做到這一點。 – AbiAndroid

+0

在FragmentTabs示例中,添加Fragment時的參數之一是參數的Bundle,它可以通過調用Fragment中的getArguments()來讀取。 – stuckless

+0

另外,請記住,在片段中,您可以訪問父級活動,因此您還可以從活動中讀取意圖,以防需要使用該數據。即在片段中,您調用getActivity()。getIntent()',但通常使用'Bundle'將參數傳遞給Fragment,並使用getArguments() – stuckless