Android防止重复点击

2020-05-13  本文已影响0人  狂奔的_土豆
package com.code.view;

import android.view.View;

/**
 * 防止重复点击
 */
public class OnLimitClickHelper implements View.OnClickListener {

    private static final int LIMIT_TIME = 1000;

    private long lastClickTime = 0;

    private int lastId = -1;

    private OnLimitClickListener onLimitClickListener = null;

    public OnLimitClickHelper(OnLimitClickListener onLimitClickListener) {
        this.onLimitClickListener = onLimitClickListener;
    }

    @Override
    public void onClick(View v) {
        long curM = System.currentTimeMillis();
        int id = v.getId();
        if (id == lastId && curM - lastClickTime > LIMIT_TIME) {
            lastClickTime = curM;
            if (onLimitClickListener != null) {
                onLimitClickListener.onClick(v);
            }
        } else {
            if (onLimitClickListener != null) {
                onLimitClickListener.onClick(v);
            }
        }
        lastId = id;
    }

    public interface OnLimitClickListener {

        void onClick(View view);
    }

}
上一篇 下一篇

猜你喜欢

热点阅读