Android:防止過快點擊造成多次事件 問題
阿新 • • 發佈:2017-11-10
@override onclick 點擊 err current calendar logs ide pub
自定義一個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(); } }); }
Android:防止過快點擊造成多次事件 問題