我是Android的新手,任何人都可以帮我解决有关TabHost的问题吗? 我有一个Tab主机和3个类想要我想把这个活动或类称为TabHost。我要做什么这是我的标签主机中的代码:
public class Tab extends Activity {
TabHost th;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab);
Resources res = getResources();
th = (TabHost)findViewById(R.id.tabhost);
th.setup();
TabSpec specs = th.newTabSpec("tag1");
specs.setContent(R.id.tab1);
specs.setIndicator("Settings", res.getDrawable(R.drawable.ic_tab_setting));
th.addTab(specs);
specs = th.newTabSpec("tag2");
specs.setContent(R.id.tab2);
specs.setIndicator("Battery Information",res.getDrawable(R.drawable.ic_tab_batteryinfo));
th.addTab(specs);
specs = th.newTabSpec("tag3");
specs.setContent(R.id.tab3);
specs.setIndicator("Help", res.getDrawable(R.drawable.ic_tab_help));
th.addTab(specs);
}
}
我打算在哪里打电话给我做的那三个课程?
答案 0 :(得分:2)
您可以将意图创建为Intent intent = new Intent(this, otherActivity.class);
,并将此意图设置为specs.setContent(intent);
Here
是使用标签的示例。
答案 1 :(得分:0)
使用标签时,您需要扩展TabActivity
以代替Activity
。而且你也不需要通过id找到它。
所以你应该改变你的代码,如下所示,
public class Tab extends TabActivity{
...
TabHost tabHost;
@Override
public void onCreate(Bundle savedInstanceState)
{
...
setContentView(R.layout.tab);
...
Resources res = getResources(); // Resource object to get Drawables
tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
intent = new Intent().setClass(this, Activity1.class);
spec = tabHost.newTabSpec("Tab One").setIndicator("Tab One",res.getDrawable(R.drawable.first_tab)).setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Activity2.class);
spec = tabHost.newTabSpec("Tab Two").setIndicator("Tab Two",res.getDrawable(R.drawable.second_tab)).setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Activity3.class);
spec = tabHost.newTabSpec("Tab Three").setIndicator("Tab Three",res.getDrawable(R.drawable.third_tab)).setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0); // set first tab selected when activity is first loaded
...
}
}
不要忘记将所有3个活动也添加到清单文件中,即。 Activity1.class,Activity2.class和Activity3.class。
答案 2 :(得分:0)
您可以使用ActivityGroup而不是Activity来执行此操作。检查以下链接,你会得到一个想法。
Experience - Multiple Android Activities in a TabActivity
我希望它可以帮助你。