在开发中经常会用到按钮等点击动作,有时候因为各种原因用户频繁点击,可能会造成代码的多次运行等问题。
那么我们就要自己自定义一个点击类,使按钮在短时间内只能点击一次。
直接上代码:
/**
*
* 防止多次点击
*/
public abstract class NoDoubleClickListener implements View.OnClickListener {
public static 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;
onNoDoubleClick(v);
}
}
public abstract void onNoDoubleClick(View v);
}
使用方法:
//使用
button.setOnClickListener(new NoDoubleClickListener() {
@Override
public void onNoDoubleClick(View v) {
}
});
挺简单的吧。