我有一个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);
}
答案 0 :(得分:1)
以编程方式设置标签可见性并保留内容:
tabs.getTabWidget().getChildAt(2).setVisibility(4);
其中“2”是要隐藏的标签的ID,“4”是不可见的常量。