WebView显示进度条和加载失败了解一下

前言:现在大多数APP中都会涉及到和web交互的地方,当然我这次写的不是怎么和web交互,而是加载webview的时候我们可以做的一些事。

开始:

一、首先来说说我们在加载webview的时候怎么加载一个进度条,就是进度条读完再显示内容。

我在项目中用的方法是用progressbar实现的。

方法:1,在布局中定义progressbar(很简单...)

          2,在代码中声明一下(also简单)

          3,用的是webview的一个方法。

webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                if (newProgress == 100) {
                    //加载到百分百让进度条隐藏
                } else {
                    //没加载完就显示
                }
            }
        })

ok,这个效果很简单就能实现,当然也可以改成过度动画。下面来说说,如果说我们要在webview加载失败的时候做一些事情需要怎么处理呢?

二,加载webview失败的时候需要有个界面展示,提示用户。

方法:

webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return false;
            }          
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                super.onReceivedError(view, errorCode, description, failingUrl);
                //6.0以下执行

            }
           
            @Override
            public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
                super.onReceivedError(view, request, error);
                //6.0以上执行              
            }

        });

当网页加载失败的时候会执行onReceivedError方法,我们就在这个方法里面操作我们想要实现的功能就可以了。

好了,这样做完之后没什么问题,但是webview加载失败的时候有个默认的404NotFound界面,于是在网上找到了一个很好的解决方法,如下:

view.loadDataWithBaseURL(null, "", "text/html", "utf-8", null);

只需要写在onReceivedError方法里就可以,一行代码搞定。

到这里我们想要实现的基本功能完成了~


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值