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

動的に実行する予定がある場合は、tabHost を使用してタブへの参照を取得し、次のように変更できます。

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

これにより、タブ 0 (最初のタブ) のタイトルが「MyTab」に変更されます。同様に、1、2、3 などで次のタブにアクセスできます。

于 2012-11-06T09:41:49.553 に答える
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 に答える