傳遞字符串列表作爲參數傳遞給javascript函數我有一個JavaScript函數:從本地Java代碼
drawPath: function drawPathFn(nodeList){
console.log(""+nodeList[1]);
},
,並調用此函數的本地Java代碼:
List<String> nodes = getShortestPath(s, d);
architectView.callJavascript("World.drawPath('"+nodes+"')");
節點列表中充滿了幾個位置名稱,但是當我嘗試將此列表傳遞給javascript函數時,控制檯輸出僅爲:「[」代表console.log(""+nodeList[0]);
,「S」代表console.log(""+nodeList[1]);
我想要的是當我調用nodeList [0]時,我希望它打印出例如「建築A」。 我怎麼能做到這一點?
我不熟悉Java,但對我來說,看起來很奇怪你可以將List連接到一個String而不會發生編譯錯誤。除此之外,它在我看來,你傳遞給'drawPathFn'的是你的Java'節點'的toString'd結果。 – 76484
是的你是對的,但我沒有使用toString函數或任何東西。即使我只在nodes.get(0)列表中發送一個項目,它仍然表現相同。 – user997248
如果您希望JavaScript將您的項目作爲數組處理,那麼它必須像數組一樣構造。 '「World.drawPath([」+ String.join(「,」,nodes)+「]);」); – 76484