2011-10-30 17 views
5

3つのタブを持つタブホストがあります。最初のタブでは、キャンバス(ビット重い)でビットマップ操作を行っています。私が2番目または3番目のタブに移動するたびに、タブのアクティビティは空白になります。タブ1に編集テキストがあるので、ソフトキーボードがポップアップすると残りのタブがうまく機能しています。ソフトキーボードがポップアップするとウィンドウのサイズが変更されます。タブのサイズを変更したり、リフレッシュすることができれば、タブの残りの部分でコンテンツを正しく表示できます。サイズを変更する方法はありますかLayoutParamsを使って幅と高さを設定しようとしましたが、タブのホスト全体が再作成されているために向きが変更されたときにタブが正しく動作しません。 同様の問題に直面した人はいますか?タブホストのアクティビティが空白になる

ご協力いただければ幸いです。

答えて

3

FLAG_ACTIVITY_CLEAR_TOPオプションを使用してタブ選択時にタブ内容を自動的に更新することができます。したがって、タブを作成するときは、タブの仕様に追加するだけです。あなたは、タブ内のアクティビティの内側にキャンバスを使用している場合

tabHost.addTab(tabHost.newTabSpec("tab1") 
         .setIndicator("myTabName") 
         .setContent(new Intent(this, MyTabContent.class) 
         .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))); 
0

、あなたの寸法は常にビューを再作成時に正しいことを確認します - 最初の値をログに記録し、いつどこで、幅と高さは、新しい値を取得し観察します。最も一般的なエラーポイントはonDrawとonMeasureです。

関連する問題