如何在单击Tab Widget栏之前创建选项卡活动?

时间:2011-08-09 08:49:28

标签: android android-activity tabs

我需要在任何人点击之前初始化活动。这是因为我有一个视频,我需要创建该活动来播放来自其他标签(或活动)的视频。

我有这个代码来初始化标签内容,但没有将活动初始化到它们中:

//Init Tabs
Resources res = this.getResources(); 
TabHost tabHost = getTabHost(); 

tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);

setupTab(tabHost,MyInitActivity.class,res.getDrawable(R.drawable.ic_tab_icon),res.getString(R.string.tab_init));
setupTab(tabHost,MusicGroupActivity.class,res.getDrawable(R.drawable.ic_tab_icon),res.getString(R.string.tab_playList));
setupTab(tabHost,SearchActivity.class,res.getDrawable(R.drawable.ic_tab_icon),res.getString(R.string.tab_search));
setupTab(tabHost,VideoActivity.class,res.getDrawable(R.drawable.ic_tab_icon),res.getString(R.string.tab_video));

我已经看过这样的代码来尝试它:

tabHost.setCurrentTab(number);

但是,当你做的时候,当你立刻改变时,这似乎没有运行

Context context = getTabHost()。getChildAt(3).getContext();

它向我抛出了一个空例外。

任何人都知道如何做到这一点?

ADDED

private void setupTab( TabHost mTabHost,Class<? extends Activity> activityclass,Drawable image, String tag) 
{

    View tabview = createTabView(mTabHost.getContext(),image,tag);
    TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(new Intent(this, activityclass));
    mTabHost.addTab(setContent);
}

全部谢谢

1 个答案:

答案 0 :(得分:0)

我在onCreate()中执行以下操作(比如我有4个标签)

tabHost.setCurrentTab(0); 
tabHost.setCurrentTab(1); 
tabHost.setCurrentTab(2); 
tabHost.setCurrentTab(3); 

tabHost.setCurrentTab(Tab_I_Want);