您的位置:首页 > 移动开发 > Android开发

Android 防止按钮控件被重复点击

2014-03-03 15:37 399 查看
在开发中经常会遇到这样的情况,一个按钮点击后会弹出Toast或者Dialog,如果快速重复地点击,则Toast则会重复地出现. 而我们想要的效果是一定时间内的点击只生效一次,或者说这种快速且重复的点击为无效点击.

点击进入: 品牌服饰鞋包9.9元特价包邮抢购:http://shop109590806.taobao.com/

解决的思路如下:

1. 需要定义一个全局变量 lastClickTime, 用来记录最后点击的时间.

2. 每次点击前需要进行判断, 用lastClickTime 和当前时间想比较,并且更新最后点击时间,若小于临界值,则算无效点击,不触发事件

注:其实用时间去判断重复点击,更多的是防止短时间大量重复或者也可是说是无效的操作, 而间隔时间要根据具体项目中需求情况而定.

下面请看代码:

工具类:

[java] view plaincopy

public class CommonUtils {

private static long lastClickTime;

public static boolean isFastDoubleClick() {

long time = System.currentTimeMillis();

long timeD = time - lastClickTime;

if ( 0 < timeD && timeD < 800) {

return true;

}

lastClickTime = time;

return false;

}

}

控件点击的处理:

[java] view plaincopy

public void onClick(View v) {

if (CommonUtils.isFastDoubleClick()) {

return;

}else{

//弹出Toast或者Dialog

}

}

这样,两次点击时间相隔小于800ms,便不会触发事件,具体的临界时间可以根据需求自己修改.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: