私のアプリケーションはタブインジケーターを動的に更新する必要があります。TabSpec.setIndicator()を呼び出してこれを実行しようとしていますが、機能しません。これが私のコードです:
TabActivityのonCreateメソッドの場合:
tabHost = getTabHost();
TabSpec tabSpec = tabHost.newTabSpec("abc");
tabSpec.setIndicator("helloabc");
tabSpec.setContent(new MyViewFactory());
tabHost.addTab(tabSpec);
次に、タブインジケーターを別の文字列(「xyz」など)に変更する必要があります
TabSpec tabSpec = MyTabActivity.getTabSpec();
tabSpec.setIndicator("xyz");
しかし、それは機能しません。それで、タブホストに追加された後にタブインジケーターを変更する方法を知りたいですか?どうもありがとう。
解決
@CommonsWareのおかげで、TabWidget.getChildAtを使用して作成しました。便利なコードを次に示します。
TextView title = (TextView) tabHost.getTabWidget().getChildAt(tabId).findViewById(android.R.id.title)
title.setText("xyz");