2

ユーザーがオプションメニューを終了したときに、アプリの一時停止を自動的に解除できるようにしたい。(もちろん、一時停止を選択していない限り...)

これを処理するとonOptionsMenuClosed、トップレベルメニューでは正常に機能しますが、サブメニューでは呼び出されません。上位レベルonPanelClosedも呼び出されていないようです。

彼らがメニューに入ったとき、そして彼らが選択をしたかどうかは検出できますが、メニューボタンを押して終了したかどうかは検出できません。

サブメニュー全体を書き直してダイアログを使用することもできますが、回避できるかどうかはわかりません。

誰か提案はありますか?

4

2 に答える 2

1

onkeydownをオーバーライドし、メニューが表示されているかどうかを確認するフラグを設定してから、super.onKeyDown(keyCode、event);を返すことができます。。

すべてのキーダウンでメニューが画面に表示されているかどうかを確認できます。他のボタン([戻る]、[検索]、[ホーム]をクリックして、画面の他の部分をタッチするとメニューが閉じます)。他のボタンを使用すると、それらを処理できますが、ホームボタンと指でタップすることはできません。

もし私があなただったら、その目的のためのonkeydownオプションの@overrideを忘れるでしょう

ただし、6番目に「More」と呼ばれる6つのメニューボタンを設定できます。これにより、処理できるオプションが多いカスタムダイアログを作成できます。

于 2010-09-10T21:43:22.990 に答える
0

メニューボタンが検出されたら、onKeyDownをオーバーライドして、自分でメニューを実装できます。

于 2010-09-10T21:19:00.320 に答える