24

重複の可能性:
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()呼び出しにつながります。

4

1 に答える 1

-4

このパターンは CAB (Contextual Action Bar) と呼ばれます。メニュー ガイドを参照し、公式 Web サイトで CAB を検索してください:コンテキスト アクション モードの使用

于 2012-10-03T12:58:54.760 に答える