「已注销」
2016-11-28 07:12
采纳率: 12.6%
浏览 1.4k

安卓 onKeyDown时间如何设置延迟?

在重写的onKeyDown方法中 KeyEvent.ACTION_DOWN时执行了一个 i= i+1 的方法 但是发现如果在键盘上按住“↓”不放的时候i的值就会计算错误而且列表页滑动的飞快,,
可能是因为执行太快了,所以i的值比一下一下按大很多,想请教一下这里如何解决?要怎么写呢?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 忘情丶 2016-11-28 08:41
    已采纳
         long exitTime = 0;
    
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                if ((System.currentTimeMillis() - exitTime) > 2000) {
                    Toast.makeText(getApplicationContext(), context.getResources().getString(R.string.toast_show_exit), Toast.LENGTH_SHORT).show();
                    exitTime = System.currentTimeMillis();
                    return false;
                } else {
                    // 退出程序
                    new MyApplication().exitClient(context);
                    System.exit(0);
                }
            }
            return true;
        }
    

    自行参考以上demo

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 紫风幻雪 2016-11-28 08:01
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题