How to prevent rapid double click on a button

后端 未结 11 1296
野的像风
野的像风 2021-01-01 19:12

I have looked at the answers here - Android Preventing Double Click On A Button and implemented qezt\'s solution like and I\'ve tried setEnabled(false) like so

11条回答
  •  北荒
    北荒 (楼主)
    2021-01-01 19:44

    Probably not most efficient, but minimal inversive:

    ...
    onClick(View v) {
        MultiClickPreventer.preventMultiClick(v);
        //your op here
    }
    ...
    public class MultiClickPreventer {
        private static final long DELAY_IN_MS = 500;
    
        public static void preventMultiClick(final View view) {
            if (!view.isClickable()) {
                return;
            }
            view.setClickable(false);
            view.postDelayed(new Runnable() {
                @Override
                public void run() {
                    view.setClickable(true);
                }
            }, DELAY_IN_MS);
        }
    }
    

提交回复
热议问题