TabHost のインジケーターとして TextViews を使用しています。テキスト ビューにカスタム背景を使用していますが、テキストの色については何もしていません。私のアクティビティの onCreate メソッドでは、現在のタブを問題なく設定できます。
アクティビティを開始すると、選択したタブの背景とタブのコンテンツが正しく表示されますが、両方のタブのテキストの色は最初は明るい灰色です。ただし、いずれかのタブをクリックすると、それ以降、選択したタブのテキストの色は黒になります。実際にタブをクリックしたときのように、テキストの色を黒に更新する方法でプログラムでタブを選択する方法が見つからないようです。私は試した:
- タブ ホストで setCurrentTab を呼び出す
- タブ ウィジェットで setCurrentTab を呼び出す
- タブ ウィジェットで focusCurrentTab を呼び出す
- インジケータ テキスト ビューで setSelected(true) を呼び出す
- タブ ウィジェットの子ビューで setSelected(true) を呼び出す
要約すると、カスタムのテキストの色を適用したくありません。デフォルトのテーマの色を使用したいだけですが、プログラムで選択した後のタブの状態を、クリックした後の状態とまったく同じにしたいのです。