[英]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.