手持设备注册的gwt问题
我有个问题。 我有一个地图和添加的ClickHandler,但按下一个按钮后,我想删除它。我知道有一些手机,但我不知道怎么用。 我的部分代码:手持设备注册的gwt问题,gwt,handlers,Gwt,Handlers,我有个问题。 我有一个地图和添加的ClickHandler,但按下一个按钮后,我想删除它。我知道有一些手机,但我不知道怎么用。 我的部分代码: map.addMapClickHandler(new MapClickHandler() { public void onClick(MapClickEvent e) { ... } }); 有人能帮我吗
map.addMapClickHandler(new MapClickHandler()
{
public void onClick(MapClickEvent e)
{
...
}
});
有人能帮我吗?不返回HandlerRegistration,但MapWidget类定义了:
如果你还需要这个,我花了一段时间才想出解决办法
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();
}
}
}));
final Set hack=new HashSet();
hack.add(map.addMapClickHandler)(新的MapClickHandler(){
公共void onClick(MapClickEvent e){
...
//在这里删除处理程序
对于(HandlerRegistration hr:hack){
hr.removeHandler();
}
}
}));
地图中有谷歌地图,您可以在其中添加点。有一个错误:“类型不匹配:无法从void转换为handleRegistration”您是对的-我没有使用地图API,所以我没有实际测试我编写的内容。我的答案中的例子现在应该起作用了,但仍然不起作用。因为我想在按下按钮后删除此处理程序,该按钮将显示路线(来自先前添加的标记),您能否更具体地说明此解决方案不起作用的原因?如果需要从其他地方调用MapWidget#removeMapClickHandler(),只要保留对MapClickHandler的引用,就可以这样做。好的,我用另一种方法处理了(不删除处理程序)。无论如何,谢谢你的帮助。
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();
}
}
}));