2017-01-27 5 views
0

Der folgende Code wurde in einem Fragment entworfen, um eine Javascript-Datei (MyMap) aufzurufen und eine Funktion (updateJSONandMap) aufzurufen. Die Funktion selbst sendet ein JSON an einen Server und nimmt drei Parameter. Es funktioniert, während der erste Parameter fest codiert ist ("Incident"), aber nicht funktioniert, wenn ich eine Variable erstelle.Das Aufrufen einer JavaScript-Funktion akzeptiert keinen variablen Parameter.

  webview.getSettings().setJavaScriptEnabled(true); 
      webview.getSettings().setDomStorageEnabled(true); 
      webview.loadUrl("file:///android_asset/MyMap.html"); 
      webview.setWebViewClient(new WebViewClient() { 
       public void onPageFinished(WebView view, String url) { 
        webview.loadUrl("javascript:updateJSONandMap('Incident'," + latitude + "," + longitude + ")"); 
       } 
      }); 

Der Block der Text des JSON ist ein String

  Event: { 
       Action: 'PUT', 
       Value: {"S": UserEvent} 
      }, 

Offensichtliche eine variable

final String incident = "incident2"; 

und dann

webview.loadUrl("javascript:updateJSONandMap(" + incident + "," + latitude + "," + longitude + ")"); 

schafft keinen Fehler erzeugen , aber sendet das JSON nicht an der Server

+1

offensichtlich incident2 ist eine Variable, ‚incident2‘ ist ein String – Selvin

Antwort

1

Edit: Ich denke, es kann einen Fehler in der Zeichenfolge sein, die erste incident ist von einzelnen Zitaten umgeben. Wird diese Saite funktionieren?

"javascript:updateJSONandMap('" + incident + "'," + latitude + "," + longitude + ")"; 

Was ist, wenn Sie es so machen?

final String incident = "incident2"; 
String loadUrlParam = `javascript:updateJSONandMap('${incident}', ${latitude}, ${longitude})`; 

webview.loadUrl(loadUrlParam); 
+1

Dies keinen Fehler erstellen, aber es ist auch nicht die JSON senden ... – Iorek

+1

ich das gerade herausgefunden, wie ich kam zu geben zurück die Antwort! Danke - webview.loadUrl ("javascript: updateJSONandMap ('" + Vorfall + "'," + Breitengrad + "," + Längengrad + ")"); – Iorek

Verwandte Themen