重複の可能性:
ActionBar の ContextMenu のような動作を呼び出す方法は?
ActionModeでDoneボタンがクリックされたかどうかを認識する方法
アクションモードの「完了」ボタンを正しく処理するには?
アクションモードでオブジェクトに対していくつかの操作を実行し、このボタンをクリックして結果を保存したい-「保存して終了」など。このボタンでキープレスをディスパッチするにはどうすればよいですか?
私が見る唯一の方法は、フラグで onDestroyActionMode(ActionMode mode) メソッドをオーバーライドし、dispatchKeyEvent(KeyEvent event) でトリガーされて、「戻る」ボタンの押下によって発生した場合に処理することです。
ログキャット:
「完了」を押した
10-03 14:31:58.211: D/DESTROY(967): onDestroyActionMode
「戻る」を押した
10-03 14:32:01.771: D/DISPATCH(967): Action: 0/n Keykode: 4
10-03 14:32:01.911: D/DISPATCH(967): Action: 1/n Keykode: 4
10-03 14:32:01.911: D/DESTROY(967): onDestroyActionMode
しかし、それは良い習慣のようには見えません。「いい」解決策はありますか?
UPD: ActionMode.Callback でアクション モードを呼び出してアクション アイテム イベントを処理する方法は知っていますが、「完了」ボタンを押してその動作を変更するにはどうすればよいですか? ActionMode.Callback
「戻る」ボタンと「完了」ボタンはどちらものonDestroyActionMode()
呼び出しにつながります。