转载:
工具类:
public class Utils {
private static long lastClickTime;
public static boolean isFastDoubleClick() {
long time = System.currentTimeMillis();
long timeD = time - lastClickTime;
if ( < timeD && timeD < ) {
return true;
}
lastClickTime = time;
return false;
}
}
控件点击的处理:
mHandler.removeCallbacks(runnable); if (!Utils.isFastDoubleClick()) {
imageLoader.loadImage(MealOrderingActivity.this, path,
mImageSize, options, simpListener);
// imageLoader.displayImage(MealOrderingActivity.this,path,
// (ImageView) mImageSwitcher.getCurrentView(),
// options,simpListener);
}else{
log("load from www or sd showDishes runnable before");
mHandler.postDelayed(runnable, );
}
这样,两次点击时间相隔小于800ms,便不会触发事件,具体的临界时间可以根据需求自己修改.
再加上一个postDelayed,确保不会由于最后两次点击时间间隔太近,导致最后一次操作也被忽略。