2011-01-18 11 views
1

タイトルは、ほぼ全体の質問ですが、私はいくつかの点でそれを補完します:進捗ダイアログが表示されている間、onCreateOptionsMenus()が「リスニング」を続ける方法はありますか?

- (1)私は、インターネット からいくつかのデータを取得するためのAsyncTaskを持っている - (2)私は、ディスプレイ進歩のためのAsyncTaskを持っていますDialog

私はcall(1)の前に(2)dialog.show()を実行し、task(2)が終了したらdialog.dimiss()を呼び出します。すべて進行中ですが、プログレスバーはメニューボタンが反応しなくなっていることを示しています。つまり、何も起こりません。

これはデフォルトの動作か何か不足していますか?

私はそれを探していますし、それについて私をクリアするものを見つけました。..

Aprecciate何かアドバイス

答えて

0

ダイアログが表示されている間、ハード・メニュー・ボタンを押してもメニューは表示されません。私はそれを正しく得たか?

もしそうなら、私はあなたと同じ動作をします。しかしthisによると:ダイアログが開いているとき、例えば

、 メニューキーは、活動のために定義されたオプションメニュー を明らかにし、 音量キーは活動で使用されるオーディオストリーム を変更します。

私は、ダイアログが表示されているにもかかわらずメニューボタンがまだ機能するはずだと思いますが、私の経験に基づいています。

ダイアログが閉じられた後、メニューボタンが再び機能するはずです。

+0

正確に..iはデフォルトの動作であるかどうかを知りたいのですが、この動作を変更できる場合... – rBaggio

+0

ちょうど補完する...ダイアログの進行状況は、onPreExecute()で実行されています。doInBackground()内のdialog.show()を呼び出してデータをいくつか待っていて、onPostExecute()がdialog.dismiss()を呼び出しています。しかし、あなたが言ったように、私のテストでは、dialog.show()がUIスレッドをブロックしているようです。 – rBaggio

0

onCreateOptionsMenuはダイアログを準備に意味しています。いったん表示されて使用されると、と用意されていないので、ダイアログの使用はonOptionsItemSelectedで処理されます。

+0

ええ、私はそれを知っていますが、私の言うことは、私のメニューは、インフレータを使ってonCreateOptionsMenuで開かれているということです。問題は進捗ダイアログが表示され、メニューボタンがもう聞きません... – rBaggio

関連する問題