android WebView(三)WebViewClient

WebView自己加载子页面默认情况下,点击WebView所加载的页面上的超链接按钮时,,是启动系统自带的浏览器去加载新的页面。如果要让WebView自己加载,需要添加如下代码:webView.setWebViewClient(new SelfWebViewClient());SelfWebViewClient继承自WebViewClient,如下:public class SelfWebViewClient extends WebViewClient {@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);//加载结束}@Overridepublic void onReceivedError(WebView view, int errorCode,String description, String failingUrl) {super.onReceivedError(view, errorCode, description, failingUrl);//在此处显示加载失败页面loadFailure.setVisibility(View.VISIBLE);}@Overridepublic void onLoadResource(WebView view, String url) {super.onLoadResource(view, url);//加载资源}@Overridepublic void onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler, String host, String realm) {super.onReceivedHttpAuthRequest(view, handler, host, realm);//webview保存密码}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);//开始加载页面}@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {//点击链接跳转,对网页中超链接按钮的响应。view.loadUrl(url);return true}}WebViewClient的一般生命周期如下:如果加载成功onPageStarted–>> onLoadResource–>>onPageFinished–>> onLoadResource如果加载失败onPageStarted–>>onLoadResource–>>onReceivedError–>>onPageFinished–>>onPageFinishedWebViewClient的常见用途有三个:1、让WebView自己加载子页面;2、如果WebView加载失败显示失败页面;3、记住页面登录密码。这三个功能上面代码已经简单介绍了。WebView从子页面返回上面介绍了如何如何直接用WebView加载子页面,但是如何从子页面返回上一页面呢?这个需要有一个出发时间,我就用返回键来触发,代码如下: @Override public boolean onKeyDown(int keyCode, KeyEvent event) {if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {webView.goBack(); //goBack()表示返回WebView的上一页面return true;} else{finish();}return false; }

尽量不要讲同事朋友的八卦。

android WebView(三)WebViewClient

相关文章:

你感兴趣的文章:

标签云: