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