java - Android 中动态删除选项卡

标签 java android

我已经搜索了这个解决方案,但可以找到任何有用的东西,任何人都可以告诉我我可以从 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);
    }
});
  }
}

最佳答案

您可以使用此代码来实现该目的

tabHost.getTabWidget().removeView(tabHost.getTabWidget().getChildTabViewAt(3));

要获取选项卡编号,请使用tabHost.getCurrentTab()

关于java - Android 中动态删除选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21368518/

相关文章:

java - bash 脚本错误 "exit code 126"

java - 使用队列模拟十字路口车辆的程序

安卓模拟器 : How can I get a list of services that are running

java - HashMap:它在TextView中显示最小值,但min_variable有更多值

android - 申请被击中

java - 为什么 ConfigurationProperties 类中的嵌套类需要是静态的?

java - 我如何解释下面提到的 UTF-8 范围

java - 如何在 Android 中以编程方式自动连接到蓝牙设备?

android - 注入(inject)交互器android mvp

android - 为什么MediaPlayer对象给出异常?