【发布时间】:2011-05-19 22:04:33
【问题描述】:
我有一个 TabHost,在我的 main.xml 布局文件中定义了 4 个选项卡。我正在尝试通过仅将指定的选项卡添加到 TabHost(即 1、2 和 4,或 1 和 3,或 ...)来设置选项卡。
如果我只添加所有 4 个选项卡,一切看起来都很好,但如果我忽略了 4 个选项卡中的任何一个,我显示的选项卡内部就没有显示任何内容。
有谁知道这可能是什么问题?
tabs = (TabHost) findViewById(R.id.tabhost);
tabs.setup();
TabSpec mainSpec = tabs.newTabSpec("Main Tab");
mainSpec.setIndicator("Main", getResources().getDrawable(R.drawable.tab_main)).setContent(R.id.mainContent);
tabs.addTab(mainSpec);
if(param1)
{
TabSpec msgSpec = tabs.newTabSpec("Tab 2");
msgSpec.setIndicator("Messages", getResources().getDrawable(R.drawable.tab_message)).setContent(R.id.messageContent);
tabs.addTab(msgSpec);
}
if(param2)
{
TabSpec tpSpec = tabs.newTabSpec("Tab 3");
tpSpec.setIndicator("Timepoints", getResources().getDrawable(R.drawable.tab_message)).setContent(R.id.timepointContent);
tabs.addTab(tpSpec);
}
if(param3)
{
TabSpec passSpec = tabs.newTabSpec("Tab 4");
passSpec.setIndicator("Passengers", getResources().getDrawable(R.drawable.tab_message)).setContent(R.id.passengerContent);
tabs.addTab(passSpec);
}
【问题讨论】:
-
理论上我看不出你的代码有什么问题。一定有其他原因导致了这种情况。
-
嗯好吧...我的直觉是它与在 xml 文件中定义但从未添加到 TabHost 的布局有关?
-
啊,好的。我想你可能走在正确的轨道上。尝试在它们自己的 xml 文件中定义每个选项卡“内容”的布局。为 TabHost 创建一个“主”选项卡布局 xml,但将内容视图保留为单独的布局。
标签: android layout android-tabhost