android onPrepareOptionsMenu don't get second Press on Menu button



我注意到在我的活动中实现onPrepareOptionsMenu()时-第一次按下工作良好-从onPrepareOptionsMenu()开始回调。但当它仍然可见(打开一些对话框),我想要第二次按下关闭它(触发回调关闭对话框)-第二次按下菜单按钮不触发onPrepareOptionsMenu()。不知道为什么

我是这样实现的:

 @Override
public boolean onPrepareOptionsMenu(Menu menu) {
    if (onDoneListener != null) {
        onDoneListener.OnDone();
    }
    return false;
}

EDIT1:

我在注释帮助之后添加了下一个功能,但仍然没有运气。OnKeyDown()也没有接收下一个菜单按钮按下。看起来菜单按钮直到我按下后退按钮才会得到事件。下面是代码:

    @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        if (onDoneListener != null)
            onDoneListener.onDone();
    }
    return super.onKeyDown(keyCode, event);
}

我也试过返回true和false,但没有运气

您所看到的是OnPrepareOptionsMenu的确切预期行为。它在菜单显示之前运行,而不是在

之后。

最新更新