0

タイトルでわかるように、タブのラベルを動的に変更したいと思います。問題は、ta ホストと tabspec を使用してタブを作成することです。ここではタブの例を示します。

    TabSpec sourceSelect = tabHost.newTabSpec("Source Select");
    // setting Title and Icon for the Tab
    sourceSelect.setIndicator("Source Select");
    final Intent selectIntent = new Intent(this, FileListActivity.class);
    sourceSelect.setContent(selectIntent);

私が来てsourceSelect.setText("") と言うと、それは何もしません、それはコンパイルします。

何か案は ?

ありがとう!

4

1 に答える 1

0

タブ インジケーターにカスタム レイアウトを使用していない場合は、タブ ウィジェットのインデックス (0 ベース) でタブ仕様を取得する必要があります。これはかなり不十分な実装ですが、アプリのこれに対する答えを検索して検索しましたが、これまでのところ機能したのはこれだけです:

((TextView) tabHost.getTabWidget().getChildAt(0)
            .findViewById(android.R.id.title)).setText("This sucks, I know.");

もう 1 つのオプションは、setIndicator(View view) を使用して、必要なテキストを含むテキスト ビューを入力することです (ガベージ コレクターを恐れていない場合)。

もちろん、カスタム タブ インジケーターを使用していて、そのテキスト ビューの ID が R.id.text_view_tab の場合は、2 つを組み合わせることができます。

((TextView) tabHost.getTabWidget().getChildAt(0)
            .findViewById(R.id.text_view_tab)).setText("This is still ugly and hacky, though.");

お役に立てれば。

于 2013-05-30T12:35:55.160 に答える