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