2011-09-03 61 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

相关问题