首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Dialog的setOnKeyListener响应两次有关问题

2012-12-16 
Dialog的setOnKeyListener响应两次问题设置了一个Dialog当按返回键时用Dialog的setOnKeyListener捕捉返回

Dialog的setOnKeyListener响应两次问题
设置了一个Dialog当按返回键时用Dialog的setOnKeyListener捕捉返回键,LogCat的时候发现这个监听事件执行了两次,这是怎么回事,是它本身就执行两次吗,还是其它的原因造成的?
[解决办法]
应该是一次的吧,上代码,无代码无真相啊,呵呵
[解决办法]
楼主一不小心设置了两个监听器吧
[解决办法]

引用:
应该是一次的吧,上代码,无代码无真相啊,呵呵

mBuildDialogList.setOnKeyListener(new OnKeyListener() {
    
    @Override
    public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
     // TODO Auto-generated method stub
     if (keyCode == KeyEvent.KEYCODE_BACK) {
      if (mBuildSlidingDrawer.isOpened()) {
       mBuildSlidingDrawer.close();
      } else if (mBuildDialogList.isShowing()) {
       mBuildDialogList.dismiss();
      }
     }
     Log.d("mBuildDialogList",getSystemDate()+"");
     return false;
    }
   });

mBuildDialogList是一个Dialog,是在另一个Dialog内又弹出的一个,mBuildSlidingDrawer是mBuildDialogList内的一个抽屉控件,相实现抽屉控件上拉后通过返回键关闭抽屉控件,显示mBuildDialogList的界面,可是按下返回键setOnKeyListener监听事件执行了两次,连带着mBuildDialogList也关了,各位帮帮忙看看
[解决办法]
引用:
楼主一不小心设置了两个监听器吧

就一个
[解决办法]
把eclipse关掉,重开一遍,有可能是工具问题,我也遇到过,重开运行就好了
[解决办法]
额,看错了,我遇到的是logcat打印两遍,和你的不一样
[解决办法]
Android一次单击操作定义了两个事件,ACTION_DOWN和ACTION_UP,即按下和松手两个动作。
[解决办法]
我碰到过这样的问题,的确是执行两次的,为了避免执行两次,你可以试试传说中的PV操作,也就是加个锁 平时锁开着,有人执行了就关了 别人就做不了了,这个人完事了以后再打开锁就OK
[解决办法]
感觉7楼是正解。除了判断是什么按键被按下,还应该判断按键是up还是down
[解决办法]
是要判断down和up
[解决办法]
引用:
我碰到过这样的问题,的确是执行两次的,为了避免执行两次,你可以试试传说中的PV操作,也就是加个锁 平时锁开着,有人执行了就关了 别人就做不了了,这个人完事了以后再打开锁就OK

能不能说的详细一点啊!没太懂!
[解决办法]
我也遇到这样的问题,同求
[解决办法]
调用event.getAction()方法可以得到键盘的action:ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.

热点排行