继承点击事件,做出过滤,最为简洁
/**
* 防止手机卡顿的时候,连续点击按钮导致多个事件被执行
*/
public abstract class NoDoubleClickListener implements ViewGroup.OnClickListener {
public static final int MIN_CLICK_DELAY_TIME = 1000;
private long lastClickTime = 0;
protected abstract void onNoDoubleClick(View v);
@Override
public void onClick(View v) {
long currentTime = Calendar.getInstance().getTimeInMillis();
if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {
lastClickTime = currentTime;
onNoDoubleClick(v);
}
}
}
用法
view.setOnClickListener(new NoDoubleClickListener() {
@Override
protected void onNoDoubleClick(View v) {
//TODO
}
});
和常规的设置点击监听用法一致