Dialog的setOnKeyListener响应两次问题 设置了一个Dialog当按返回键时用Dialog的setOnKeyListener捕捉返回键,LogCat的时候发现这个监听事件执行了两次,这是怎么回事,是它本身就执行两次吗,还是其它的原因造成的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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 调用event.getAction()方法可以得到键盘的action:ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE. if(event.getAction()==KeyEvent.ACTION_DOWN)或者if(event.getAction()==KeyEvent.ACTION_UP)做一次判断就OK了 systemUI wifi图标更改 关于关闭ProgressDialog 怎样实现下面的渐变效果? 获得系统软件包名,软件名称是报空指针异常 小弟初学android,问下大牛们模拟器能模拟基站信号吗? 关于模拟按键的问题 新建的XML下面有黄线~~ eclipse+android 编译问题 安卓辅助功能accesiibilityservice 怎么实现控件的长按操作 求助关于OKHTTP3的问题 Android程序开机自动后台运行,怎么不让界面显示啊 菜鸟求助 这么简单一个登陆获取字符串的程序为什么无法运行可通过编译。。。。麻烦看下谢谢了
@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也关了,各位帮帮忙看看