如何检测actionmode是否已经存在

时间:2012-10-03 14:21:30

标签: android android-actionbar dismiss

我在视图中有几个小部件,每个小部件都需要自己的ActionMode。我看到当用户点击操作栏之外时,ActionMode不会自动解除。因此,用户很容易为一个控件启动ActionMode,然后点击(在我的情况下为longclick)另一个控件,并在第一个控件上堆叠第二个ActionBar。这会导致编程逻辑的破坏。

我可以使用活动级别的成员变量跟踪当前的ActionMode,如果需要新的成员变量,则忽略当前的ActionMode。但是,这使得我的代码在阅读和维护时变得混乱。而且,当用户点击操作栏之外的任何内容时,我宁愿立即将其解雇。

有关处理此问题的好方法的任何建议吗?

1 个答案:

答案 0 :(得分:8)

前段时间我正在寻找这个问题的解决方案,因为我知道如果不在全局变量中保存当前的动作模式状态,就无法跟踪它。但是我不认为一个具有正确名称的变量会使你的代码变得混乱。