防止过快点击形成屡次事件执行(防止按钮重复点击)

自定义一个NoDoubleClickListener,继承自OnClickListeneride

public abstract class NoDoubleClickListener implements OnClickListener {

    //两次点击按钮之间的点击间隔不能少于2000毫秒
    public static final int MIN_CLICK_DELAY_TIME = 2000;
    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);
        }
    }

    protected abstract void onNoDoubleClick(View v);
}

使用code

buttn.setOnClickListener(new NoDoubleClickListener() {
    @Override
    protected void onNoDoubleClick(View v) {
        //点击事件后的逻辑事件
    }
});
相关文章
相关标签/搜索