onPrepareOptionsMenu(Menu)メソッドから、たくさんのprocessng時間を消費するバックグラウンドスレッドがメニュー(メニューボタンではない)の表示とクリックをほとんど不可能にするので、私はメニューを表示しようとしていたときにスレッドを停止しました。スレッドが停止した後、メニューを表示してクリックすると(メニューボタンではなく)、はるかに管理しやすくなります。メニューが表示された直後に「戻る」キーが押されたときに問題が発生しました。ユーザーが 'back'キーを押すと、スレッドを再起動する必要があります。 public void onOptionsMenuClosed(Menu menu)メソッドを組み込むと、メニューが表示された直後に押された 'back'キーは、void onOptionsMenuClosed(Menu menu)メソッドを実行しました。しかし、メニューの1つからサブメニューを表示してから、「戻る」キーを押すと、void onOptionsMenuClosed(メニューメニュー)メソッドが実行されませんでした。誰かがこの質問に答えることができれば本当にありがたいです。onOptionsMenuClosed()は、メニューが表示された直後に '戻る'キーが押されたときに実行されます。 BUT
1
A
答えて
0
それが唯一のメインメニューサブませんメニューのために呼ばれています、ので、それが呼び出されていない..あなたはonOptionsItemSelected(MenuItem item)
内のいくつかのフラグを追加するのではとのようなonBackPressed
の内側に思うかもしれませんので:
boolean isSubMenuItemPressed;
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.subMenuItem://the item that contains the submenu
isSubMenuItemPressed = true;
break;
}
}
public void onBackPressed() {
if(isSubMenuItemPressed){// do what you want
isSubMenuItemPressed = false;}
}
関連する問題
- 1. キーが押されたときにポップアップを表示する
- 2. キーが押されて保持されたときに確実にステートメントが実行されます。
- 3. android:Doneキーが押されたときにSoftkeyboardがアクションを実行
- 4. Java KeyEventが押されたキーが表示されない
- 5. デフォルトのキーが押されたときにボタンが押された効果を表示
- 6. データが消去されました。戻るボタンを押したときに表示されます。Swift 3
- 7. アニメーションはキーが押されたときにのみ表示され、キーが押されていないとイメージは消えます。
- 8. 戻るボタンが押されたときにオプションメニューが表示されるかどうかを検出します。
- 9. Android:空のリストビューは、ボタンが押された後に表示されます
- 10. すべてのフラグメントは、Androidで戻るボタンが押されたときに表示されます
- 11. AndroidのBackキーを押したときにメソッドが実行されました
- 12. winformが表示された後にイベントを実行するC#
- 13. ボタンが押された後にjframeにjpanelが表示されない
- 14. 戻るボタンが押されたときにJavaScriptファイルがキャッシュされる
- 15. 戻るボタンを押したときに警告ダイアログが表示される
- 16. アクティビティが表示された後にAsyncTaskを実行します。
- 17. キーボードが表示されたときにスクロールテーブルビューの行が表示されるiOS
- 18. Tabキーが押されたときにユーザーフォームを表示するコード
- 19. ブラウザの戻るボタンを押した後にモーダルが表示される
- 20. UIMenuControllerが表示された直後に解除されています
- 21. Tkinterボタンが押されたときにPythonを実行する
- 22. 戻るボタンを押した後にオプションメニューが表示されない
- 23. ポップアップダイアログが表示された後にJSを実行する
- 24. ブートストラップモーダルが表示された直後に消えます
- 25. ダイアログボックスが表示された直後に消えています
- 26. 値がスクロールされた後にUITableViewに表示されます
- 27. ビューコントローラを押した後に、ナビゲーションバーの影が表示される
- 28. メニューの隣に2/3戻るボタンが表示されます
- 29. リセットボタンを押した後にSTM32F4プログラムが実行される
- 30. ホームキーを押した後にAndroidサービスが実行される
時間を割いて非常に感謝し、質問に答えるあなたが提供したコードをテストします。 – user1161829
私は、コードをテストせずに、メニューの1つからサブメニューの1つを表示してから、「戻る」キーを押すと、onOptionsItemSelected()メソッドは実行されないため、機能しません。どのサブメニューも選択せず、単に「戻る」キーを押すだけです。さらに、メニューボタンが押されている間は、フォーカスがアクティビティクラス(私の場合はMapActivity)にないので、onBackPressed()メソッドは動作しないと思います。 onPrepareOptionsMenuにブール値を設定し、onBackPressed()をチェックすることでそのシナリオをテストしました。 – user1161829
あなたの答えがそのようになった理由を知りました。私はサブメニューの1つをクリックしなかったが、メニューの1つからサブメニューを表示してから、戻るキーを押す。 – user1161829