2011-09-03 31 views
0

我在學習android的過程中。 想要實現標籤式瀏覽功能;爲了這個目的,我有以下活動如何從另一個活動調用TabActivity getTabHost()?避免NullPointerException

public class CustomList extends ListActivity { 
.... 

and inside this (and other activities I want to put the tabs) 

for example: 
Resources res = getResources(); 

    **TabActivity ta = new TabActivity();** 
     TabHost host = **ta.getTabHost();** // this line returns **NullPointerException** 

     host.addTab(host.newTabSpec("first") 
       .setIndicator("First") 
       .setContent(new Intent(this, First.class))); 
These lines are included inside OnCreate(). 

也許這將是更好的有標籤的定義獨立的活動,只是把它在所有其他活動。但是,我不知道如何做到這一點。

請提出解決此問題的建議。先謝謝你。

+0

你想要做什麼更多的信息鏈接? –

回答

0

我想你想要的是在單個選項卡中有多個活動。

爲了做到這一點,您必須首先創建一個擴展TabActivity的Activity,並使用擴展TabGroupActivity的活動初始化其選項卡。

public class BaseActivity extends TabActivity { 

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

    addTab("home",home_tab,tab_sales_icons,new Intent(this, TabGroupSalesActivity_.class)); 
    } 
} 

public class TabGroupSalesActivity extends TabGroupActivity{ 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //Start the first Activity of the group 
    Intent newIntent = new Intent(this, Sales_.class); 
    newIntent.putExtra("XMLObject",xml); 
    startChildActivity(newIntent); 
    } 
} 

這裏是how to have multiple activities in a TabActivity

+0

哇,那其實很好。我不知道這是可能的。 – boblin

+0

哇,這其實很好。我想要做的是實現標籤式瀏覽。問題是我已經在我的活動中使用了擴展ListActivity,現在我無法使用擴展TabActivity。我正在尋找一種方式來添加不擴展TabActivity的選項卡;這就是爲什麼我試圖創建它的一個新的實例,TabActivity ta = new TabActivity();並調用getTabHost();而這一行現在是TabHost host = ta.getTabHost();返回NUllPointException。 – boblin

相關問題