如何正确处理动作模式"完成"按钮?

Joh*_*Doe 24 android actionbarsherlock android-actionbar contextual-action-bar

可能重复:
如何调用ActionBar的类似ContextMenu的行为?
如何识别是否在ActionMode中单击了"完成"按钮

如何正确处理动作模式"完成"按钮?

动作模式完成按钮

我在动作模式下对一个对象执行一些操作,我想通过点击这个按钮来保存结果 - 比如"保存并退出".如何在此按钮上按键按键?

我看到的唯一方法是覆盖带有标志的onDestroyActionMode(ActionMode模式)方法,在dispatchKeyEvent(KeyEvent事件)中触发以处理它是否由"后退"按钮按下引起.

logcat的:

"完成"按下了

10-03 14:31:58.211: D/DESTROY(967): onDestroyActionMode  
Run Code Online (Sandbox Code Playgroud)

"后退"紧迫

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
Run Code Online (Sandbox Code Playgroud)

但这看起来并不是一种好的做法.有没有"好"的解决方案?

UPD:我知道如何在ActionMode.Callback中调用动作模式和处理动作项事件,但是如何按"完成"按钮按下来修改它的行为?"后退"按钮和"完成"按钮既导致ActionMode.CallbackonDestroyActionMode()呼叫.

Rém*_*i F -4

这种模式称为 CAB(上下文操作栏)。请查看菜单指南并在官网搜索CAB:使用上下文操作模式

  • 这真的是公认的答案吗?你在跟我开玩笑。 (8认同)
  • 已经。但我没有找到任何可以帮助我的东西。我认为这不是这个组件的标准应用程序,所以这一刻可能超出了官方指南。更新。或者我只是错过了一些重要的事情。 (2认同)