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