如何正确处理动作模式的“完成”按钮?[复制]
-
13-12-2019 - |
题
可能的重复:
如何调用 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
但这看起来并不是一个好的做法。有什么“好的”解决方案吗?
更新:我知道如何调用操作模式并处理 ActionMode.Callback 中的操作项事件,但是如何捕获“完成”按钮按下来修改其行为? “后退”按钮和“完成”按钮都会导致 ActionMode.Callback
的 onDestroyActionMode()
称呼。
不隶属于 StackOverflow