我有一个不使用选项菜单的主要活动。我需要实现这个行为: 1. 当 Android Menu 按钮被按下时,会显示一个弹出窗口 2. 当 Android Menu 按钮再次被按下时,弹出窗口被关闭。
我知道如何通过在主要活动中覆盖 onKeyDown() 来执行 #1,但不知道如何执行 #2。显示弹出窗口时,不再触发主活动的 onKeyDown()。
当主要活动有一个打开的弹出窗口时,如何捕获 Android 菜单按钮?(在我的例子中,弹出窗口是一个带有膨胀视图的 PopupWindow)。
顺便说一句,我试图在弹出窗口的主视图上设置一个关键监听器,但它没有被触发
mTopView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
LogUtil.debug("*** Key: %d", keyCode);
return false;
}
});