質問

可能な重複:
ActionBarのContextMenuのような動作を呼び出す方法は?
ActionModeで完了ボタンがクリックされたかどうかを認識する方法

アクションモード「完了」ボタンを正しく処理する方法は?

Action mode done button

アクションモードでオブジェクトに対していくつかの操作を実行し、「保存して終了」のように、このボタンをクリックして結果を保存します。このボタンのキープレスをディスパッチするにはどうすればよいですか?

私が見る唯一の方法は、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を公式サイトで検索してみてください。 : コンテキストアクションモードの使用

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top