按下后退按钮不会取消actionMode

时间:2019-06-27 21:05:46

标签: java android

我使用start Support ActionMode(...)在我的应用中启动acion模式。但是,当我单击智能手机上的“后退”按钮时,动作模式将被取消。

我发现了此解决方案,但它对我不起作用。第二个“ if”不正确,因为当操作模块正常工作并按返回按钮时,event.getAction()可以只能是KeyEvent.ACTION_DOWN。当操作模块关闭时,event.getAction()可以是KeyEvent.ACTION_UP或KeyEvent.ACTION_UP(我需要)。而且我不知道为什么它不起作用

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    if(mFileExplorerFragment.mActionModeActive){
        if(event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP){
            //event.getAction() is never == KeyEvent.ACTION_UP 
            //when action mode is working
            return true;
        }
    }
    return super.dispatchKeyEvent(event);
}

1 个答案:

答案 0 :(得分:0)

我通过用Activity替换AppCompatActivity解决了这个问题。我不知道为什么,但是在actionMode时它不读取带有AppCompatActivity的KeyEvent.ACTION_UP。但是在“活动”中读取的内容确实如此