如何在点击 TabWidget 栏之前创建选项卡的活动?

发布于 2024-11-29 03:33:19 字数 1376 浏览 0 评论 0原文

我需要在任何人点击活动之前初始化它们。这是因为我在其中一个中有一个视频,并且我需要创建该活动才能从另一个选项卡(或活动)播放视频。

我有这段代码来初始化选项卡内容,但没有初始化其中的活动:

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

它向我抛出一个空异常。

有人知道该怎么做吗?

已添加

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

感谢大家

i need to get the Activitys initialize , before anyone click on them . That is cause i have a video in one of them , and i need to have that Activity created to play the video from another tab (or activitys) .

I have this code to initialize the tab content but not the activitys into them :

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

I have seen code like this to try it :

tabHost.setCurrentTab(number);

but that seems to not run when you change immediately cause when i do

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

it throws to me a null exception.

Anyone knows how to do this?

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

Thanks for all

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

土豪我们做朋友吧 2024-12-06 03:33:19

我在 onCreate() 中执行以下操作(假设我有 4 个选项卡)

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

tabHost.setCurrentTab(Tab_I_Want); 

I do the following in the onCreate() (say i have 4 tabs)

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

tabHost.setCurrentTab(Tab_I_Want); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文