Android防止ボタンクイッククリック2回クリッククイッククリック

1106 ワード

Androidの開発では、多くのクリックイベントが発生します.ここでは、リンクの説明を追加して直接フォーカスを失い、フォーカスを取得する3つのソリューションの参考を記録します.
  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);

}


クリックイベントの設定時にOnClickListenerをNoDoubleClickListenerに置き換え、onNoDoubleClickに置き換える方法を実装します.
  btnPay.setOnClickListener(new NoDoubleClickListener() {
          @Override
          protected void onNoDoubleClick(View v) {
              startPay();
          }
      });

    }

方法3:自分で見る
方法4:リンクの説明を追加する