您当前的位置: 首页 >  android
  • 0浏览

    0关注

    674博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Android按键判重或者长按只处理一次事件 KeyEvent event.getRepeatCount

沙漠一只雕得儿得儿 发布时间:2020-02-03 13:17:48 ,浏览量:0

一些按键(Media Key Back Key)在系统分发时,做了特殊处理:  当按下时,发送Message去调用KeyEvent.changeTimeRepeat 

这样长按时,会发多次KeyEvent.ACTION_DOWN,

第一次event.getRepeatCount()返回0;  第二次event.getRepeatCount()返回1;  ……

避免长按多次调用onKeyDown之类的处理,常添加repeatCount == 0判断

if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
  return true;
}
return super.onKeyDown(keyCode, event);

当然,上述方法也可以防止长按连续不断的发送同一个事件导致的多次处理。

关注
打赏
1657159701
查看更多评论
立即登录/注册

微信扫码登录

0.0385s