Android上下文按钮阻止后退按钮功能

时间:2015-09-29 15:43:09

标签: android navigation contextmenu back

我的所有活动都有问题,当我按下后退按钮时它可以正常工作,但是当我按下上下文菜单按钮时,按下后没有任何反应。 我说的是电话按钮,而不是背面导航的工具栏图标。有人曾经处理过这个吗?

编辑: 没有菜单显示,onPrepareOptionsMenu()被删除,当我按回但没有动作时手机振动。 我看到,如果我给菜单充气,它会在关闭te弹出窗口的第一个后退之后正常使用。

我发现仅当我使用setSupportActionBar(工具栏)设置工具栏时才会发生这种情况;

1 个答案:

答案 0 :(得分:1)

我有几乎相同的问题,这是我的情况:

  • AppCompatActivity,工具栏设置为setSupportActionBar(工具栏);
  • 我使用导航抽屉(不知道这是否会影响)
  • onBackPressed()被覆盖以提示注销对话框

一切正常,直到我按下设备菜单按钮,然后应用程序开始忽略后退按钮。

这是我在按下设备菜单按钮后看到的

  • 在此
  • 之后未调用onBackPressed()方法
  • 如果设置onKeyUp(int keyCode,KeyEvent事件),它会收到该事件(您可以检查de keyCode与KeyEvent.KEYCODE_BACK相同)

我不知道为什么onBackPressed停止被调用,尝试没有覆盖onBackPressed和onKeyUp并且问题仍然是相同的。

我知道这不是最佳解决方案,但为了解决这个问题我使用下一个代码:

@Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        if (keyCode==KeyEvent.KEYCODE_BACK){
                onBackPressed();
                return true;
        }
        return super.onKeyUp(keyCode, event);
    }

希望这有帮助。