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(上下文操作栏)。请查看菜单指南并在官方网站上搜索 CAB :使用上下文操作模式

于 2012-10-03T12:58:54.760 回答