我有以下代码:
public static void show(String value){
Window.alert("From Java");
invokeMethod(); //Does not get called
}
public static native void invokeMethod() /*-{
alert("From JSNI");
}-*/;
我想从Java方法调用JSNI方法,但invokeMethod()
永远不会被调用...
我找不到很多用于从Java调用JSNI方法的用例。
为什么上面的代码不起作用?
答案 0 :(得分:1)
首先,正如Colin Alworth所说,您需要将代码更改为$ wnd.alert(“来自JSNI”);如果你想调用除alert()之外的另一个JS函数,你应该在你的html页面中编写函数体。您将找到所需的所有信息here
所以你的代码应该是这样的:
public static void show(String value){
Window.alert("From Java");
invokeMethod();
}
public static native void invokeMethod() /*-{
$wnd.alert("From JSNI"); //Added "$wnd."
}-*/;