public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub{
menu.add("popup");
if(!settingPopupWindow.isShowing()){
settingPopupWindow.showAtLocation(settingButton, Gravity.CENTER|Gravity.BOTTOM, 0, 0);
}else{
settingPopupWindow.dismiss();
}
return false;
}如题所述   点第一下系统菜单键可以打开  再点一下关不掉。
我在OnMenuOpened里面重写也是一样的效果  
不知怎么办了   求助啊

解决方案 »

  1.   

    在if else里面打 log 看执行了没
      

  2.   

    else里面的代码没执行
    LOGCAT里面的信息是no keyboard for id 0
    我先查查怎么回事吧
      

  3.   

    你自己写个变量 来标记 当前是否 弹出那个框 比如 boolean isShow = true/false
    根据这个true/false 来走 看看效果 。不过这样以来需要考虑的事情就多了,不过可以先这么测试。
      

  4.   

    popwindow有个setFouces的属性,设置下就可以了
      

  5.   

    public boolean onCreateOptionsMenu(Menu menu)  第二次可能进来吗?这不是创建吗?
      

  6.   

    Returns
    You must return true for the menu to be displayed; if you return false it will not be shown.是不是要返回true  dismiss时
      

  7.   

    我重写过另一个opened方法  一样的效果
    我后来仔细看了log  应该不是这段代码的问题
    在平常的时候模拟器按键也会出现no keyboard for id 0的情况
    只不过对功能没有影响所以一直没注意
    这个功能我暂时已经放弃了  等下次有机会再研究