我已经搜索过这个解决方案,但可以找到任何有用的东西,任何人都可以告诉我,我可以从TabHost中删除特定的选项卡/ TabSpec。我正在为每个tabSpec制作对象并将其保存在arrayList中。这是代码:
public class Main extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
final TabHost tabs=(TabHost)findViewById(R.id.tabhost);
tabs.setup();
final ArrayList<TabHost.TabSpec> list = new ArrayList<TabHost.TabSpec>();
TabHost.TabSpec spec= tabs.newTabSpec("buttontab");
spec.setContent(R.id.buttontab);
spec.setIndicator("Button");
tabs.addTab(spec);
list.add(spec);
tabs.setCurrentTab(0);
Button btn=(Button)tabs.getCurrentView().findViewById(R.id.buttontab);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
TabHost.TabSpec spec=tabs.newTabSpec("tag1");
spec.setContent(new TabHost.TabContentFactory() {
public View createTabContent(String tag) {
return(new AnalogClock(Main.this));
}
});
spec.setIndicator("Clock");
tabs.addTab(spec);
list.add(spec);
}
});
}
}
答案 0 :(得分:0)
您可以使用此代码实现
tabHost.getTabWidget().removeView(tabHost.getTabWidget().getChildTabViewAt(3));
要获取标签号,请使用tabHost.getCurrentTab()