1. 程式人生 > >防止快速點選多次調節音量按鈕多次呼叫網路介面

防止快速點選多次調節音量按鈕多次呼叫網路介面

 private Runnable reqeustSetVoice;

    public void setDeviceVoice(final int count, BindBean bean, ImageButton deviceVoice) {
        if (reqeustSetVoice == null) {
            reqeustSetVoice = new Runnable() {
                @Override
                public void run() {
                    HttpManager.setDeviceVoice(bean.getMac(), count, new OnResultListener<NoDataResult>() {
                        @Override
                        public void onSuccess(NoDataResult result) {
                            if (result.result == 1) {

                            } else {
                                setVoiceButton(bean.getDevVoice(), deviceVoice);
                                onError(-1, result.message);
                            }
                        }

                        @Override
                        public void onError(int code, String message) {
                            Common.AlertDialog(context, message);
                        }
                    });
                }
            };
        }
        handler.removeCallbacks(reqeustSetVoice);//之前所有的請求都remove
        handler.postDelayed(reqeustSetVoice, 1500);//在1.5s以內最後一次的請求才會發送出去