将数据从Java类传递给Web View html

我在我的web视图中加载这个html

https://mail-attachment.googleusercontent.com/attachment/?ui=2&ik=25c0c425c6&view=att&th=138db54ff27ad34b&attid=0.1&disp=inline&realattid=f_h5ahtmbe0&safe=1&zw&saduie=AG9B_P9YNooGjsk_jLefLptQ9q15&sadet=1343790299575&sads=-yBVsLKP_2mh7zMfYLCF7sL1u-w

现在我想要做的是填充来自我的Java类variables的HTML中的文本框,然后自动命中提交。

但我不知道如何做到这一点。

任何thougths将不胜感激。

Solutions Collecting From Web of "将数据从Java类传递给Web View html"

首先,您的url似乎不可用。

如果你想在android应用程序和你的web应用程序/网页之间进行数据交换,你可以通过javascript来实现。

下面是一个来自Android官方网站的例子:

像这样创build一个类:

 public class JavaScriptInterface { Context mContext; /** Instantiate the interface and set the context */ JavaScriptInterface(Context c) { mContext = c; } /** Show a toast from the web page */ @JavascriptInterface public void showToast(String toast) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); } } 

在你的WebView

 WebView webView = (WebView) findViewById(R.id.webview); webView.addJavascriptInterface(new JavaScriptInterface(this), "Android"); 

在你的网页上:

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

如果你想传递给你的网页,只需调用相应的JavaScript函数:

 String str = "xxx"; myWebView.loadUrl("javascript:xxx('"+str+"')"); 

这里是参考: http : //developer.android.com/guide/webapps/webview.html

我会添加的JavaScript函数的负载应该完成时加载的HTML。 要控制这一点,您可以使用以下内容:

 webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl("file:///android_asset/test.html"); webview.setWebViewClient(new WebViewClient(){ public void onPageFinished(WebView view, String url){ webview.loadUrl("javascript:init('" + theArgumentYouWantToPass + "')"); } }); 

的test.html

 <!DOCTYPE html> <html> <head> <title>Test</title> </head> <body> hola adios </body> <script type="text/javascript"> function init(val){ // Do whatever you want with your parameter val } </script> </html> 

采取从未捕获的ReferenceError:myFunction未定义为null:1在webview中的Androidexception