4

TabHost に 3 つのタブがある Android アプリがあります (テキスト ラベル、画像なし)。次のようにタブを設定しました。

intent = new Intent().setClass(this, AnnouncementsActivity.class);
spec = tabHost.newTabSpec("news").setIndicator("News").setContent(intent);
tabHost.addTab(spec);

バックグラウンド スレッドを起動してサーバーからアナウンスを取得し、タブのテキスト ラベルを更新して、新しいアナウンスの数をユーザーに伝えたいと考えています。たとえば、タブのテキストを「ニュース (3)」に変更したいとします。タブのテキスト ラベルにアクセスして変更するにはどうすればよいですか?

どんな提案も大歓迎です!

4

4 に答える 4

5

あなたはこのようにすることができます

TabHost tabHost = getTabHost();
TextView tv = (TextView) tabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title);
tv.setText("New Tab Text");

android.R.id.titleシステムが生成する場所は、必要に応じてChildIndexTextを変更するだけです

于 2013-08-18T02:28:37.977 に答える
0

ここに示されているコードを見てください。コードの最後に、textViewを取得するためのハッキーな方法があることを確認してください。

于 2010-10-09T20:21:27.220 に答える