Come passare i dati da Javascript a Android WebView in questo caso?

@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); Main(); } public void Main() { _linearLayout = new LinearLayout(this); _webview = new WebView(this); _linearLayout.addView(_webview, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); setContentView(_linearLayout); _webview.getSettings().setJavaScriptEnabled(true); _webview.getSettings().setPluginsEnabled(true); _webview.getSettings().setAllowFileAccess(true); _webview.setWebChromeClient(new WebChromeClient()); _webview.addJavascriptInterface(this, "Question"); _webview.loadData(GetHTML(), "text/html", "utf-8"); } public String GetHTML() { String HTML = "" + "<HTML>" + "<HEAD>" + "<TITLE>Radio Button onClick Handler</TITLE>" + "<SCRIPT LANGUAGE=\"JavaScript\">" +"function function1(colors) {" +"var col = (colors.options[colors.selectedIndex].value);" +" if (col) {" +" document.bgColor = col;" +" } " +"</script>" + "</HEAD>" + "<BODY>" +"<form>" +"<b> Hello </b>" //+"<select name=\"colors\" onChange=\"window.Question.function1(this);\">" +"<select name=\"colors\" onChange=\"window.Question.OnJsClick_SelectedItem(' string value');\">" +"<option value=\"white\" selected>White</option>" + "<option value=\"cyan\">Cyan</option>" + "<option value=\"ivory\">Ivory</option>" + "<option id=\"myO\" value=\"blue\">Blue</option>" +"</select>" +"</form>" + "</BODY>" + "</HTML>"; return HTML; } public void OnJsClick_SelectedItem(final String str) { mHandler.post(new Runnable() { //@Override public void run() { getValue(str); } }); } public String getValue(String str) { _webview.loadUrl("javascript:function1(colors)"); Toast.makeText(this, "Under getValue " + str, Toast.LENGTH_SHORT).show(); return str; } } 

Per favore aiutathemes.

  • Come get l'area totale coperta durante il tracciamento del path su android della canvas?
  • Firebase Java Server per submit notifica push a tutti i dispositivi
  • come controllare il file aperto senza lsof
  • Tasto in ViewPager scorri alla pagina specifica
  • java.lang.noclassdeffounderror: com.google.android.gms.R $ styleable nulla mi ha aiutato
  • Come compilare GCC per Android?
  • 2 Solutions collect form web for “Come passare i dati da Javascript a Android WebView in questo caso?”

    Dovresti usare qualcosa di simile:

     <select name="colors" onChange="Question.OnJsClick_SelectedItem(this.options[this.selectedIndex].text)"> 

    È ansible memorizzare il codice come pagina HTML nella cartella degli asset e utilizzare il metodo URL di caricamento al Webview per visualizzare la pagina web.

     mWebView.loadUrl("file:///android_asset/index.html"); 

    Modifica secondo il commento

    Abilitazione JavaScript

      WebView webView = (WebView) findViewById(R.id.webview); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webView.addJavascriptInterface(new JavaScriptInterface(this), "Android"); 

    ecco alcuni HTML e JavaScript che creano un messaggio di toast utilizzando la nuova interface quando l'utente fa clic su un button

     <input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" /> <script type="text/javascript"> function showAndroidToast(toast) { Android.showToast(toast); } </script> 

    Aggiungi questo nel tuo codice Java

     public class JavaScriptInterface { Context mContext; /** Instantiate the interface and set the context */ JavaScriptInterface(Context c) { mContext = c; } /** Show a toast from the web page */ public void showToast(String toast) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.