Android防止按钮快速点击 两次点击 迅速点击

在Android 开发中 会遇到许许多多的点击事件
在此 记录 三种 解决方案
参考:添加链接描述
直接 失去和获取焦点

  btnPay.setClickable(false);
  或
  btnPay.setEnabled(false);

方法2
自定义一个NoDoubleClickListener,继承自OnClickListener:

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);
        }
    }

    protected abstract void onNoDoubleClick(View v);

}

在设置点击事件时用NoDoubleClickListener替换OnClickListener,并且实现方法onNoDoubleClick替换onClick即可:

  btnPay.setOnClickListener(new NoDoubleClickListener() {
          @Override
          protected void onNoDoubleClick(View v) {
              startPay();
          }
      });

    }

方法3 : 自己看去

方法4 :添加链接描述

你可能感兴趣的:(小知识)