您的位置:首页 > 其它

快速点击

2015-11-10 14:03 316 查看
在我们项目中常常要判断是否快速点击,我们通常做法是通过时间来判断,但这种方法是有bug的,他无法确定你点的是不是同一个view,如过快点点击其他的view,你是不是也是通过时间了。。。这时候是不让点的,因此我们的事件也应该放在控件的本身来做判断。。。这个才是合理

private static WeakHashMap<View, Long> lastClickTimeMap = new WeakHashMap<View, Long>();

/**
* 判断是否为快读点击
*/
public static boolean isFastClick(View v) {
long now = SystemClock.elapsedRealtime();
Long lastClickTime = lastClickTimeMap.get(v);
if (lastClickTime == null || now - lastClickTime >= 500) {
lastClickTimeMap.put(v, now);
return false;
}
return true;
}


上面就是控件根据事件本身来做的判断。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: