首先调用Java方法,是的,我已经搜查,发现了这个答案已经:从GWT JSNI
GWT JSNI - problem passing Strings
我试图调用从JSNI方法的Java方法,但不是任何地方获得。我已经尝试了上面给出的建议,但它仍然行不通。
下面的代码:
public native void initCustomListeners(MapmakerMapViewPresenter.MyView view) /*-{
//public native void initCustomListeners() /*-{
$wnd.getLocationDescriptions = function(lng, lat) {
$entry([email protected]::getLocationDescriptions(DD)(lng, lat));
}
$wnd.google.maps.event.addListener(map, 'click', function(event) {
var lat = event.latLng.lat().toFixed(3);
var lng = event.latLng.lng().toFixed(3);
alert("(" + lat + ", " + lng + ")");
$wnd.getLocationDescriptions(lng, lat);
alert("Test!");
});
}-*/; @Override
public void getLocationDescriptions(double lng, double lat) {
getUiHandlers().doGetLocationDescriptions(lng, lat);
}
谁能帮助我吗?
杰森
我仍然错过了一些东西......你能看到我最近的帖子吗? – Jason
我认为在我建议使用'$ entry()'的时候出现了一个错误,请看更新后的答案 –
它试图调用这个方法,但抛出一个ClassCastException。alert()表明我按照需要传递了一个double,但是找出正在尝试传输的Class并不重要。 – Jason