【问题标题】:Make back button press not canceling actionMode使后退按钮按下不取消 actionMode
【发布时间】:2019-06-27 21:05:46
【问题描述】:

我使用 startSupportActionMode(...) 在我的应用中启动 acion 模式。但是当我点击智能手机上的后退按钮时,动作模式被取消了。

我发现了这个解决方案,但它对我不起作用。第二个“如果”不正确,因为当动作模块工作并且我按下返回按钮时,event.getAction() 可以只有 KeyEvent.ACTION_DOWN。当 action mod 关闭时, 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);
}

【问题讨论】:

    标签: java android


    【解决方案1】:

    我通过将AppCompatActivity 替换为Activity 解决了这个问题。我不知道为什么,但在 actionMode 时它不会读取 KeyEvent.ACTION_UPAppCompatActivity。但在Activity 中,它读取并且这确实有效

    【讨论】:

      猜你喜欢
      • 2019-06-23
      • 1970-01-01
      • 1970-01-01
      • 2020-05-21
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      相关资源
      最近更新 更多