Use*_*ser 19 html android android-webview
我在我的html下面加载 webView
现在我想做的是填充html来自我的java类变量的文本框,然后自动点击提交.
但我不知道该怎么做.
任何thougths将不胜感激.
hun*_*ngr 45
首先,您的网址似乎不可用.
如果你想在Android应用程序和你的网络应用程序/网页之间进行数据交换,你可以通过javascript实现这一点.
以下是Android官方网站的示例:
创建一个这样的类:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
在你的WebView:
WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
Run Code Online (Sandbox Code Playgroud)
在您的网页中:
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果你想传递一些东西到你的网页,只需调用相应的javascript函数:
String str = "xxx";
myWebView.loadUrl("javascript:xxx('"+str+"')");
Run Code Online (Sandbox Code Playgroud)
以下是参考:http: //developer.android.com/guide/webapps/webview.html
Alv*_*ban 20
我想补充说,加载html时应该完成javascript函数的加载.要控制它,您可以使用以下内容:
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 + "')");
}
});
Run Code Online (Sandbox Code Playgroud)
的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>
Run Code Online (Sandbox Code Playgroud)
取自Uncaught ReferenceError:myFunction未定义为null:1 webview中的Android异常
小智 5
只需启用 DOM Storage 并写入var x=字符串:
webview.getSettings().setJavaScriptEnabled(true);
web.getSettings().setDomStorageEnabled(true);
webview.loadUrl(urlString);
webview.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
String js = "javascript:var x =document.getElementById('username').value = '"+user+"';var y=document.getElementById('password').value='"+pass+"';";
if (Build.VERSION.SDK_INT >= 19) {
view.evaluateJavascript(js, new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
}
});
}
else {
view.loadUrl(js);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46479 次 |
| 最近记录: |