アクションモード「完了」ボタンを正しく処理する方法は?[重複]
-
13-12-2019 - |
質問
可能な重複:
ActionBarのContextMenuのような動作を呼び出す方法は?
ActionModeで完了ボタンがクリックされたかどうかを認識する方法
アクションモード「完了」ボタンを正しく処理する方法は?
アクションモードでオブジェクトに対していくつかの操作を実行し、「保存して終了」のように、このボタンをクリックして結果を保存します。このボタンのキープレスをディスパッチするにはどうすればよいですか?
私が見る唯一の方法は、dispatchkeyevent(KeyEventイベント)でトリガーされたフラグでondestroyactionmode(ActionModeモード)メソッドをオーバーライドして、「戻る」ボタンを押したことが原因であるかどうかを処
ログキャット:
「完了」が押されました
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でアクションモードを呼び出し、アクションアイテムイベントを処理する方法を知っています。コールバックですが、「完了」ボタンを押して動作を変更するにはどうすればよいですか? 「戻る」ボタンと「完了」ボタンの両方がにつながります ActionMode.Callback
'sの onDestroyActionMode()
呼び出します。
解決
このパターンは、CAB(コンテキストアクションバー)と呼ばれます。に見てください メニューガイド CABを公式サイトで検索してみてください。 : コンテキストアクションモードの使用
所属していません StackOverflow