我的问题很简单。
如何获得Contextual Action Bar
(CAB)的可见度?
例如,我有一个ActionMode
和一个回调。
mActionMode = activity.startActionMode(mCallback);
现在我需要知道CAB是否可见。有什么想法吗?
答案 0 :(得分:1)
没有办法查询。但是@RafaelC建议的答案是不必要的(抱歉,没有难过的感觉)...您的代码已经设计好,因此您可以知道何时可见。查看何时启动操作模式,对ActionMode对象的引用将保存在您的成员变量中:
mActionMode = activity.startActionMode(mCallback);
然后在onDestroyActionMode中,如果尚未添加此行,则添加该行:
mActioinMode=null;
就是这样!
现在:
if(mActionMode!=null) //your ActionMode bar is visible
if(mActionMode==null) //your ActinMode bar is not visible.
希望这对新编码员有所帮助...问候:)
答案 1 :(得分:0)
我想这个问题没有内置的解决方案。
我通过在回调类
中设置boolean
标志来解决它
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu)
{
this.visible = true;
/**/
return true;
}
和
@Override
public void onDestroyActionMode(ActionMode mode)
{
this.visible = false;
/**/
}
然后,可以使用callback.isVisible();