如何更改Android中的标签名称

时间:2012-11-06 09:35:05

标签: android android-actionbar

  

可能重复:
  How to change the title of the Tab Dynamically

我刚开始进行android开发,我想我会开始创建一个包含3个标签的应用程序。

我想知道如何更改标签的名称?

我试图像这样改变它们:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Set up the action bar.
        final ActionBar actionBar = getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        // For each of the sections in the app, add a tab to the action bar.
        actionBar.addTab(actionBar.newTab().setText(R.string.title_section1).setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText(R.string.title_section2).setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText(R.string.title_section3).setTabListener(this));

    }

这是正确的,因为当我更改title_section1时,应用程序上没有任何变化

2 个答案:

答案 0 :(得分:1)

如果您计划动态执行此操作,可以使用tabHost获取对该选项卡的引用,并将其更改为:

 ((TextView)mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title)).setText("MyTab");

这会将标签0(第一个标签)的标题更改为“MyTab”。同样,您可以使用1,2,3等访问下一个选项卡。

答案 1 :(得分:1)

请参阅TabActivity

另见下面的例子。

public class TabSample extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_tab);

        TabHost tabHost = getTabHost();       

      tabHost.addTab(tabHost.newTabSpec("tab1")
              .setIndicator("OPT")
              .setContent(new Intent(this, TabGroup1Activity.class)));

      tabHost.addTab(tabHost.newTabSpec("tab2")
              .setIndicator("EDIT")
              .setContent(new Intent(this, TabGroup2Activity.class)));

      tabHost.setCurrentTab(0); 
    }
}

希望它会对你有所帮助。

如果有任何疑问,请告诉我。