GWT проблема с HandlerRegistration
У меня проблема. У меня есть карта и я добавил ClickHandler, но после нажатия кнопки я хочу удалить ее. Я знаю, что есть некоторая регистрация HandlerRegistration, но я не знаю, как ее использовать. часть моего кода:
map.addMapClickHandler(new MapClickHandler()
{
public void onClick(MapClickEvent e)
{
...
}
});
Может кто-нибудь мне помочь?
2 ответа
Если вам все еще это нужно, мне понадобилось время, чтобы найти решение
final Set<HandlerRegistration> hack = new HashSet<HandlerRegistration>();
hack.add(map.addMapClickHandler(new MapClickHandler() {
public void onClick(MapClickEvent e) {
...
// remove handler here
for (HandlerRegistration hr : hack) {
hr.removeHandler();
}
}
}));
MapWidget#addMapClickHandler() не возвращает HandlerRegistration, но класс MapWidget определяет метод removeMapClickHandler():
map.addMapClickHandler(new MapClickHandler() {
@Override
public void onClick(MapClickEvent event) {
// Make sure map is visible to this inner class. It needs
// either to be a member of the enclosing class or final.
map.removeMapClickHandler(this);
}
});