2

によって作成されたタブホストがあります

  this.tabHost = getTabHost();

     // Resusable TabSpec for each tab
    Intent intent;  // Reusable Intent for each tab

    // Create an Intent to launch the first Activity for the tab (to be reused)
    intent = new Intent().setClass(this, FirstGroup.class);

    // Initialize a TabSpec for the first tab and add it to the TabHost
    spec1 = tabHost.newTabSpec("FirstGroup").setIndicator("Regionlar",
            getResources().getDrawable(R.drawable.region2)) // Replace null with R.drawable.your_icon to set tab icon
                    .setContent(intent);
    tabHost.addTab(spec1);

そして、プログラムでタブホストのラベルを「Regionlar」から「newMenuTabbar」に変更したいと考えています。例が見つかりませんでした。ご清聴ありがとうございました。

編集: 2 番目の tabitem のラベルを "Mənzərələr" => "secondTabitem" から変更したい

インテント = 新しいインテント().setClass(this, FirstGroup.class);

    // Initialize a TabSpec for the first tab and add it to the TabHost
    spec1 = tabHost.newTabSpec("FirstGroup").setIndicator("Regionlar",
            getResources().getDrawable(R.drawable.region2)) // Replace null with R.drawable.your_icon to set tab icon
                    .setContent(intent);
    tabHost.addTab(spec1);

        // Create an Intent to launch an Activity for the tab (to be reused)
    intent = new Intent().setClass(this, SecondActivityGroup.class);
    spec2 = tabHost.newTabSpec("SecondActivityGroup").setIndicator("Mənzərələr",
            getResources().getDrawable(R.drawable.img_gallery_icon)) // Replace null with R.drawable.your_icon to set tab icon
                    .setContent(intent);
    tabHost.addTab(spec2);
4

3 に答える 3

5

これを試して:

final TextView label = (TextView) tabHost.getTabWidget().findViewById(android.R.id.title);
label .setText(YOUR NEW LABEL);

それが役立つことを願っています。

于 2012-04-26T08:25:32.560 に答える
1

bi のコードは、最初のタブのタイトルのみを変更できます。これは、物事を成し遂げるためのより直接的な方法だと思います:

((TextView) mTabHost.getTabWidget().getChildTabViewAt(position)
.findViewById(android.R.id.title))
.setText(yourTitle);

positionタブの位置、 はタブyourTitleに設定するタイトルです。現在のタブのテキストを変更したい場合は、 で置き換える代わりに、position単に置き換えること がgetCurrentTabできますgetTabWidget().getChildTabViewAt(position)getCurrentTabView()

これを書いた人は誰でもsetTabText(int position, String text)メソッドを定義しているはずandroid.R.id.titleです。または、すでに持っている場合は、私に教えてください。

于 2015-05-10T07:43:02.600 に答える
0

このコードを試してください

public class SlideMainActivity extends TabActivity {
    public static RelativeLayout headerLayout;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.main_silde_tab);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
                R.layout.hd_header);
        setTabs();
    }

    private void setTabs() {
        addTab("FirstGroup", R.drawable.tab_home, FirstGroup.class);
        addTab("Regionlar", R.drawable.tab_search, Regionlar.class);

    }

    private void addTab(String labelId, int drawableId, Class<?> c) {
        TabHost tabHost = getTabHost();
        Intent intent = new Intent(this, c);
        TabHost.TabSpec spec = tabHost.newTabSpec("tab" + labelId);

        View tabIndicator = LayoutInflater.from(this).inflate(
                R.layout.tab_indicator, getTabWidget(), false);
        TextView title = (TextView) tabIndicator.findViewById(R.id.title);
        title.setText(labelId);
        ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
        icon.setImageResource(drawableId);

        spec.setIndicator(tabIndicator);
        spec.setContent(intent);
        tabHost.addTab(spec);
    }

}
于 2012-04-26T08:29:31.270 に答える