我使用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);
}
答案 0 :(得分:0)
我通过用Activity替换AppCompatActivity解决了这个问题。我不知道为什么,但是在actionMode时它不读取带有AppCompatActivity的KeyEvent.ACTION_UP。但是在“活动”中读取的内容确实如此