我有问题。 我有一个地图并添加了ClickHandler,但按下按钮后我想删除它。我知道有一些HandlerRegistration但我不知道如何使用它。 我的代码的一部分:
map.addMapClickHandler(new MapClickHandler()
{
public void onClick(MapClickEvent e)
{
...
}
});
任何人都可以帮助我吗?
答案 0 :(得分:0)
MapWidget#addMapClickHandler()不返回HandlerRegistration,但MapWidget类定义了removeMapClickHandler() method:
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);
}
});
答案 1 :(得分:0)
如果你还需要这个,我需要一段时间来找出解决方案
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();
}
}
}));