android 防止Button的频繁点击,多次执行点击事件

此文章作为笔记,摘自 防止Button的频繁点击,多次执行点击事件

感谢作者分享!


开发过程中经常遇到连续快速的点击带有点击事件的view,可能会执行多次点击事件,

怎么控制一个带有点击事件的View多次点击事件的时间间隔大于0.5s呢


首先写一个abstract类继承OnClickListener

public abstract class OnClickEvent implements View.OnClickListener {

    public static long lastTime;

    public abstract void singleClick(View v);

    @Override
    public void onClick(View v) {
        if (onDoubClick()) {
            return;
        }
        singleClick(v);
    }

    public boolean onDoubClick() {
        boolean flag = false;
        long time = System.currentTimeMillis() - lastTime;

        if (time > 500) {
            flag = true;
        }
        lastTime = System.currentTimeMillis();
        return flag;
    }
}

解释:

  • 每次点击事件执行之前 先判断俩次点击间隔是否小于500毫秒
调用
1
2
3
4
5
6
mClickView.setOnClickListener(new OnClickEvent() {
       @Override
       public void singleClick(View v) {

       }
   });

你可能感兴趣的:(android笔记)