我正在使用以下代码。
但是addvaluechangedHandler
在gwt中发射两次。
我应该使用什么其他方法,以便它只会出现一次?
calendar.addValueChangeHandler(new ValueChangeHandler<Date>() {
@Override
public void onValueChange(ValueChangeEvent<Date> event) {
Date newDate = calendar.getValue();
newDate.setDate(newDate.getDate()+1);
if ((newDate.before(todaysDate))) {
Window.alert("You can not choose past dates before " +todaysDate);
calendar.setValue(null);
}
}
});
答案 0 :(得分:1)
请参阅http://code.google.com/p/google-web-toolkit/issues/detail?id=4785
解决方法似乎是:
public class DateBoxOneEvent extends DateBox {
@Override
public void setValue(Date date, boolean fireEvents) {
if (date != null) {
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
}
super.setValue(date, fireEvents);
}
}