[英]Passing String from JSNI to Java - GWT
我在GWT项目中将String
传递给Java方法时遇到问题:
public final native String waveIt()/*-{
var instance = this;
var data = $wnd.Waverecorder.data();
var strData = data.toString();
var arr = strData.split(',');
for (var i = 0; i < arr.length; i++) {
var data = arr[i];
console.log(data);
instance.@com.mycode.wave.showcase.client.Showcase::updateWave(Ljava/lang/String;)(data.toString());
}
}-*/;
从Chrome / Firefox的控制台日志中可以看到我得到了正确的数据(这是我得到的确切日志):
-0.00006103515625
-0.00006103515625
-0.00006103515625
-0.05072021484375
-0.553833007812
(more data omitted)
当GWT java方法接收到data
它为空。 可能是什么原因?
你是什么意思:
当GWT java方法接收到数据时,它为空。
您是否在谈论waveIt()
应该返回的字符串?
错误可能是waveIt()
没有return
语句。
此方法应该为空,因为您不返回字符串-您从该字符串中调用Java方法。
查看您的代码,您不需要var instance = this; 您可以删除实例。 @com之前。
您两次声明var数据:在循环之前和循环内部。 不用使用data.toString()来调用Java方法,而是可以使用arr [i]来调用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.