2012-01-06 5 views
0

私はタブーの中にアクティビティGroupを持つアプリケーションを開発していますので、同じタブ内のアクティビティのスタックを使っています。tabshostの下のアクティビティグループの問題

私は検索インターフェイスを試してみて、このタブ内のときに問題が出てくると、何も起こりません、私が起動した場合、別のアクティビティの検索インタフェースは、」正常に動作します。

また、私はからメソッドを実行するためにしようとした場合「onClickの」オプションのアプリケーションがクラッシュし

01-06 10:09:24.533: E/AndroidRuntime(1404): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running? 
01-06 10:09:24.533: E/AndroidRuntime(1404):  at android.view.ViewRoot.setView(ViewRoot.java:562) 
01-06 10:09:24.533: E/AndroidRuntime(1404):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177) 
01-06 10:09:24.533: E/AndroidRuntime(1404):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 
01-06 10:09:24.533: E/AndroidRuntime(1404):  at android.view.Window$LocalWindowManager.addView(Window.java:433) 
01-06 10:09:24.533: E/AndroidRuntime(1404):  at android.app.Dialog.show(Dialog.java:265) 
01-06 10:09:24.533: E/AndroidRuntime(1404):  at android.app.DatePickerDialog.show(DatePickerDialog.java:132) 
01-06 10:09:24.533: E/AndroidRuntime(1404):  at android.app.Activity.showDialog(Activity.java:2727) 
01-06 10:09:24.533: E/AndroidRuntime(1404):  at android.app.Activity.showDialog(Activity.java:2685) 

とレイアウトXMLは、私はまた私の意図は、このActivityGroupクラッシュ内部ダイアログを表示した場合と指摘、しかし、私はこの問題は、それを表示するために、親アクティビティのコンテキストを取得重なっ。

m_ProgressDialog = ProgressDialog.show(getParent(), "Please wait", "Downloading info", true,false); 

代わり

m_ProgressDialog = ProgressDialog.show(this, "Please wait", "Downloading info", true,false); 

それは可能性が入れ子になったクラスを持っている何か?

挨拶

+0

私はあなたが探しているものは明確ではありません。問題を明確にしてください。はい、Tabhostの場合、ダイアログを表示している間、Dialogウィンドウがアプリケーション全体を膨張させるので、これの代わりにgetParent()を使用する必要があります。 – kosa

答えて

1

私はあなたがActivityGroupにおけるコンテキストの問題の原因となる

setContentView(R.layout.your_id); 

を使用していると思います。

は、このようにそれを使用してみてください:

View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.your_id, null); 
setContentView(viewToLoad); 

そして短いメモとして:ACTIVITYGROUPSが廃止されましたので、あなたは多分、断片に切り替える必要があります。彼らは

0

View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.your_id, null); 
setContentView(viewToLoad); 

は、XMLファイルにのonClickメソッドを削除し、Javaコードでボタンの上にonClickListenerを入れてください...多くの問題を作ります。これは仕事をします;)

関連する問題