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/”);