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

时间:2012-10-03 11:46:35

标签: android android-actionbar actionbarsherlock contextual-action-bar

  

可能重复:
  How to invoke the ActionBar's ContextMenu-like behavior?
  How to recognize whether the Done button is clicked in ActionMode

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

Action mode done button

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

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

logcat的:

“完成”按下

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的{​​{1}}来电。

1 个答案:

答案 0 :(得分:-3)

此模式称为CAB(上下文操作栏)。请查看Menu guide并在官方网站上搜索CAB:Using the contextual action mode