您的位置:首页 > 移动开发

android之webview的.setWebViewClient(new WebViewClient()几个方法重写

2014-04-18 00:05 489 查看
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/");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: