可能重复:
如何调用 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()
调用。