0、html頁面 label標籤設置id
1、js文件中通過document.getElementById("id").innerHTML = str;
給html頁面設置值,方法代碼
//接收android傳遞的數據,並顯示在html上
function AndroidToWeb0(str){
document.getElementById("company").innerHTML = str;
alert(str);//通過下面代碼去響應這個alert
}
用於響應js中的alert
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
AlertDialog.Builder b2 = new AlertDialog.Builder(PreviewRatifyNoticeActivity.this)
.setTitle("提示").setMessage(message)
.setPositiveButton("ok",
new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
result.confirm();
}
});
b2.setCancelable(false);
b2.create();
b2.show();
return true;
}
@Override
public boolean onJsConfirm(WebView view, String url, String message, JsResult result) {
// TODO Auto-generated method stub
return super.onJsConfirm(view, url, message, result);
}
@Override
public boolean onJsPrompt(WebView view, String url, String message, String defaultValue,JsPromptResult result) {
// TODO Auto-generated method stub
return super.onJsPrompt(view, url, message, defaultValue, result);
}
});
2、獲取並配置webview
webView = (WebView) findViewById(R.id.web_view);
//設置支持js
webView.getSettings().setJavaScriptEnabled(true);
webView.requestFocus();
webView.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
//設置webview的背景色
webView.setBackgroundColor(getResources().getColor(R.color.bg_gray));
//設置加載網頁
webView.loadUrl("file:///android_asset/ratify_notice.html");
3、如果加載過html頁面文件後就進行傳值,那麼會傳值失敗,初步認定是因爲雖然發出頁面加載請求了,但是很可能頁面加載較慢,傳值比較快,而導致加載失敗。所以可用以下方式,目的是等頁面加載完畢再傳值
//這樣設置是爲了防止webview頁面未加載完成就調用賦值方法而導致的先賦值後加載頁面,
//從而導致賦值失敗
webView.setWebViewClient(new WebViewClient() {
// 重寫shouldOverrideUrlLoading方法,使點擊鏈接後不使用其他的瀏覽器打開。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
// 如果不需要其他對點擊鏈接事件的處理返回true,否則返回false
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
//打開時顯示加載框
showProgressDialog("get");
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
//加載完成關閉加載框
webView.post(new Runnable() {
@Override
public void run() {
webView.loadUrl("javascript:AndroidToWeb0('" + 要傳的值 + "')");
}
});
hideProgressDialog();
}
});