0

可能重复:
如何动态更改选项卡的标题

我刚开始 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 时,应用程序没有任何变化

4

2 回答 2

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); 
    }
}

希望它会帮助你。

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

于 2012-11-06T09:51:38.130 回答
1

如果您打算动态执行此操作,则可以使用 tabHost 获取对选项卡的引用并像这样进行更改:

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

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

于 2012-11-06T09:41:49.553 回答