当我长按MGWT按钮直到触摸结束事件被触发时要执行的连续动作

时间:2013-05-22 06:31:01

标签: gwt button mgwt

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

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设备上安装我的应用程序时,这是行不通的。只有单击事件触发。 如果您对我的要求很清楚,请告诉我是否有其他方法可以做到这一点。提前谢谢。

0 个答案:

没有答案