【问题标题】:Changing Title from Activities present in tabs in TabLayout in Android从 Android 的 TabLayout 中的选项卡中显示的活动更改标题
【发布时间】:2011-07-06 22:55:16
【问题描述】:

我正在尝试从选项卡内的活动中更改 标题。但标题与为 TabActivity 给出的标题相同。我搜索了解决方案,但还没有成功。有办法吗?请帮帮我。

谢谢

【问题讨论】:

    标签: android


    【解决方案1】:

    在用作 TabActivity 子级的 Activity 中,您可以简单地使用

    getParent().setTitle("your title");
    

    getParent 将返回 TabActivuty 的当前实例,然后您可以更改标题

    【讨论】:

      【解决方案2】:

      您可以对 TabActivity 使用单例方法,然后使用 This Method 更改标题。

      MyTabs.java

      class MyTabs extends TabActivity {
          private static MyTabs theInstance;
      
          public static getInstance() {
              return MyTabs.theInstance();
          }
      
          public MyTabs() {
              MyTabs.theInstance = this;
          }
      
          ...
      }
      

      ActivityInTab.java

      ...
      TabActivity tabActivity = MyTabs.getInstance();
      ((TextView)tabActivity.getTabHost().getTabWidget().getChildAt(0).findViewById(android.R.id.title)).setText("New");
      ...
      

      (显然这不是一个完整的单例实现,但它足以满足您正在做的事情。由于没有父容器,活动就无法存在,因此可以安全地假设在构造函数中设置了引用对象已创建。)

      【讨论】:

      • 嗨,格雷戈里,我明白了。并告诉我如何更改应用程序标题。 (不是标签标题)
      • 既然你已经有了TabActivity的引用,你可以直接使用tabActivity.setTitle("New Title");
      • 嗨 Gregory 抱歉回复晚了。 tabActivity.setTitle("新标题");不会更改应用程序标题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 2017-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多