【问题标题】:How to make a tabHost in an Activity that is not a TabActivity如何在不是 TabActivity 的 Activity 中创建 tabHost
【发布时间】:2012-01-02 13:47:59
【问题描述】:

我在 Activty 中创建了一个 tabHost,每次到达 .addTab(Spec) 时它都会崩溃。 我在 Activity 中创建了选项卡主机,如下所示:

peopleTabHost = new TabHost(this);

然后我使用一种方法来添加选项卡(我可以这样做,因为我在 onCreat 之外将 peopleTabHost 定义为 final)

    private void CreateNewTab(String tagName, String displayedName, Class<?> intentClass)
    {
          Intent intent = new Intent().setClass(this,  intentClass);
          TabHost.TabSpec spec = peopleTabHost.newTabSpec(tagName).setIndicator(displayedName);
          spec.setContent(intent);
          peopleTabHost.addTab(spec);       
    }

谢谢

【问题讨论】:

    标签: java android tabs android-tabhost


    【解决方案1】:

    我第二个 sianis 的回答,但我还补充说它可能会崩溃,因为您没有初始化(或至少没有显示)tabhost。

    尝试在调用构造函数后立即运行peopleTabHost.setup();

    【讨论】:

    • 好的,谢谢,我扩展了 TabActivity,它可以工作了。现在我有一个不同的问题,包含选项卡的类还包含一个应该位于选项卡下方的列表,每个选项卡都填充了一半的屏幕。我通过将它们都添加到垂直线性布局中来做到这一点,但是它崩溃了,并且当它到达选项卡主机的 addView 时,它会通过调试器发生。
    • 您可能应该使用您的代码和堆栈跟踪打开一个不同的线程,以便为更多人提供帮助。
    【解决方案2】:

    为什么不使用 TabActivity?它是一个扩展 ActivityGroup 的类,它扩展了 Activity。因此,您可以像简单的 Activity 一样使用 TabActivity 类的子类,但它具有更多功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多