在开发中经常遇到点击事件处理,有时候连续点击多次响应,体验很不好。比如现在的微信朋友圈。其实现在处理很简单,如果项目中使用了Rxjava那就直接再依赖个RxBinding库。不想的话就自己写个类实现下就OK
。
/**
* des:
* author:
*/
public abstract class NoDoubleClickListener implements View.OnClickListener {
public final int MIN_CLICK_DELAY_TIME = 1000;
private long lastClickTime = 0;
@Override
public void onClick(View v) {
long currentTime = Calendar.getInstance().getTimeInMillis();
if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {
lastClickTime = currentTime;
onDoDoubleClick(v);
}
}
protected abstract void onDoDoubleClick(View view);
}