WebViewClient的幾個方法重寫
//在點擊請求的是鏈接是才會調用,重寫此方法返回true表明點擊網頁里面的鏈接還是在當前的webview里跳轉,不跳到瀏覽器那邊.
1、public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
//重寫此方法可以讓webview處理https請求。
2、public void onReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error) {
handler.proceed();
}
//重寫此方法才能夠處理在瀏覽器中的按鍵事件。
3、public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {
return super.shouldOverrideKeyEvent(view, event);
}
}
//在加載頁面資源時會調用,每一個資源(比如圖片)的加載都會調用一次。
4、 public void onLoadResource(WebView view, String url) {
// TODO Auto-generated method stub
if (DEBUG) {
Log.d(TAG, ” onLoadResource “);
}
super.onLoadResource(view, url);
}
//在頁面加載開始時調用。
5、 public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
if (DEBUG) {
Log.d(TAG, ” onPageStarted “);
}
if (url.endsWith(“.apk”)) {
download(url);//下載處理
}
super.onPageStarted(view, url, favicon);
}
//在頁面加載結束時調用。
6、public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
if (DEBUG) {
Log.d(TAG, ” onPageFinished “);
}
super.onPageFinished(view, url);
}
小例子:如下
webview1.setWebViewClient(new WebViewClient() { public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { //Handle the error Toast.makeText(getApplicationContext(), “網絡連接失敗 ,請連接網絡。”, Toast.LENGTH_SHORT).show(); } public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); //設置字符集編碼 webview1.getSettings().setDefaultTextEncodingName(“UTF-8”); webview1.loadUrl(“http://mfsj1908.m.tmall.com/”);