1

当我使用 MGWT 按钮长按处理程序时,我想连续调用一个方法,这应该在我释放按钮之前完成。IE; 直到触发触摸结束事件。为此,我在 MGWT Button 的长按处理程序中编写了 Timer。我在 Timer 的 run 方法中不断调用 my task 方法。我的代码:

upButton.addLongTapHandler(new LongTapHandler() {

        @Override
        public void onLongTap(LongTapEvent event) {
             upBtnTimer = new Timer() {

                    @Override
                    public void run() {

                        if(getValue() >= maxValue){
                            Window.alert("max val reached");
                            upBtnTimer.cancel();
                        }else{
                            setValue(getValue() + RATE);
                        }

                    }
                };

            upBtnTimer.scheduleRepeating(100);
        }
    });

而且我还为 upButton 编写了触摸结束处理程序。这是:

 upButton.addTouchEndHandler(new TouchEndHandler() {

        @Override
        public void onTouchEnd(TouchEndEvent event) {
            if(upBtnTimer!=null){
            upBtnTimer.cancel();
            upBtnTimer = null;
            }
        }
    });

当我在浏览器上测试我的移动应用程序时这没问题,但是当我在 iOS/Android 设备上安装我的应用程序时,这不起作用。只有单击事件触发。如果您清楚我的要求,请告诉我是否有其他方法可以做到这一点。提前致谢。

4

0 回答 0