2011-08-09 6 views
0

アクティビティをクリックする前にアクティビティを初期化する必要があります。それは私がその中の1つのビデオを持っているため、別のタブ(またはアクティビティ)からビデオを再生するためにそのアクティビティを作成する必要があります。TabWidgetバーをクリックする前にタブのアクティビティを作成する方法は?

//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)); 

私はそれを試して、このようなコードを見てきました:

私は彼らにタブのコンテンツを初期化するために、このコードではなくactivitys持っ

tabHost.setCurrentTab(number); 

をそれが実行されないようですあなたがすぐに私が行うときに原因を変更するとき

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

それは私にnull例外をスローします。

誰でもこの方法を知っていますか?

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); 
} 

正確に方法は何setupTab私はonCreate()で次の操作を行い、すべての

+0

? .setContent(新しいインテント(this、SearchActivity.class))、これは何かを呼びますか? tabHost.setCurrentTab(number)は私のために完全に動作します –

+0

しかし、(getTabHost()。getChildAt(3).getContext())しようとすると、HOUSEのようにnullが返されます。 –

答えて

0

のおかげで(と言う私は4つのタブがあります)

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

tabHost.setCurrentTab(Tab_I_Want); 
関連する問題