Как изменить название вкладок в Android

Возможный дубликат:
Как для динамического изменения заголовка вкладки

Я только начал разработку 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, в приложении ничего не меняется


person Community    schedule 06.11.2012    source источник


Ответы (2)


Если вы планируете делать это динамически, вы можете получить ссылку на вкладку с помощью tabHost и изменить ее следующим образом:

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

Это изменит заголовок вкладки 0 (первая вкладка) на «Моя вкладка». Точно так же вы можете получить доступ к следующим вкладкам с помощью 1,2,3 и так далее.

person Anup Cowkur    schedule 06.11.2012

обратитесь к 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); 
    }
}

Надеюсь, это поможет тебе.

Если возникнут какие-либо вопросы, дайте мне знать.

person Shreyash Mahajan    schedule 06.11.2012