Android 上下文操作栏与工具栏操作混乱

Android 上下文操作栏与工具栏操作混乱,android,android-appcompat,android-toolbar,contextual-action-bar,Android,Android Appcompat,Android Toolbar,Contextual Action Bar,我正在使用appcompat v7和支持设计库。在我的活动中有一个常规工具栏,它有三个操作按钮(RM1、RM2、RM3): 当在列表中长时间单击某些项目时,会显示上下文操作栏(CAB),而不是常规工具栏。我的驾驶室只有一个动作(CM) 激活上下文操作栏(CAB)时,它会隐藏常规工具栏。此时,如果单击上下文菜单(CM),一切都正常。但出于某种原因,如果我单击CM左侧的空白区域,常规菜单RM1和RM2将显示,尽管常规工具栏被CAB隐藏。当CAB处于活动状态时,RM1和RM2图标显然不会显示,但单击处

我正在使用appcompat v7和支持设计库。在我的活动中有一个常规工具栏,它有三个操作按钮(RM1、RM2、RM3):

当在列表中长时间单击某些项目时,会显示上下文操作栏(CAB),而不是常规工具栏。我的驾驶室只有一个动作(CM)

激活上下文操作栏(CAB)时,它会隐藏常规工具栏。此时,如果单击上下文菜单(CM),一切都正常。但出于某种原因,如果我单击CM左侧的空白区域,常规菜单RM1和RM2将显示,尽管常规工具栏被CAB隐藏。当CAB处于活动状态时,RM1和RM2图标显然不会显示,但单击处理程序仍在原位,即使常规工具栏处于隐藏状态,它们也会被触发。CAB不会拦截单击,除非它在单击点中有操作。如果我在CM上单击,它被正确处理:RM不会显示,因为该按钮正好位于CM菜单下方

这是虫子吗?有解决办法吗


在Android 4.1设备中进行测试。

我认为这是一个bug。我自己也遇到过,而且。这里是一个变通方法,假设您正在扩展:


不幸的是,这是唯一对我有效的解决办法。
_____________________________________
                         RM1 RM2 RM3 |
_____________________________________|  
_____________________________________
                                  CM |
_____________________________________|  
@Override
public void onSupportActionModeStarted(ActionMode mode) {
    super.onSupportActionModeStarted(mode);
    rm1.setEnabled(false);
    rm2.setEnabled(false);
    rm3.setEnabled(false);
}

@Override
public void onSupportActionModeFinished(ActionMode mode) {
    super.onSupportActionModeFinished(mode);
    rm1.setEnabled(true);
    rm2.setEnabled(true);
    rm3.setEnabled(true);
}