J'ai une fonction javascript:Le passage d'une liste de chaînes comme argument à la fonction javascript à partir du code Java natif
drawPath: function drawPathFn(nodeList){
console.log(""+nodeList[1]);
},
et le code Java natif qui appelle cette fonction est:
List<String> nodes = getShortestPath(s, d);
architectView.callJavascript("World.drawPath('"+nodes+"')");
nœuds liste est rempli avec plusieurs noms de lieux, mais quand je tente de passer cette liste à la fonction javascript, la sortie de la console est juste: "[" pour console.log(""+nodeList[0]);
et "S" pour console.log(""+nodeList[1]);
Ce que je veux, c'est que lorsque j'appelle nodeList [0], je veux qu'il imprime par exemple. "Construire un". Comment pourrais-je y parvenir?
Je ne suis pas au courant Java, mais il me semble très étrange que vous puissiez concaténer une liste sur une chaîne sans avoir d'erreur de compilation. Cela mis à part, il me semble que ce que vous passez à 'drawPathFn' est le résultat toString'd de vos' nodes' Java. – 76484
Oui, vous avez raison, mais je n'utilise pas la fonction toString ou quoi que ce soit. Même si j'envoie seulement un élément dans la liste comme nodes.get (0) il se comporte toujours de la même façon. – user997248
Si vous voulez que JavaScript traite votre article comme un tableau, il doit être structuré comme un tableau. '" World.drawPath (["+ String.join (", ", nodes) +"]); "); – 76484