此文章作为笔记,摘自 防止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) { } }); |