最近由于产品需要,一个页面上部分是一个WebView, 下面是一些文字介绍,但是在赋值时,HTML网页加载会消耗一定时间,在其加载过程中,文字已经展示出来,给用户的体验很不好,所以我就想在webview加载成功结束后再给文字赋值,于是在网上搜到:当加载成功的时候会回调WebViewClient的onPageFinished方法;当加载失败的时候会回调WebViewClient的onReceived方法。但问题是在加载失败的时候同样会回调onPageFinished方法。

知识点:  WebView在加载网页的时候,如果加载失败,显示系统默认的错误页面很丑,而且很恶心,会暴露url。一般操作处  理:自定义一个错误页面。这个页面可以是一个本地网页,也可以是Android页面。

技术点:重写WebViewClient里面的onReceivedError();
  onReceivedError调用情况:onReceivedError只有在遇到不可用的(unrecoverable)错误时,才会被调用)。 
  比如,当WebView加载链接www.baidu.com时,”不可用”的情况有可以包括有:
  1、没有网络连接
  2、连接超时
  3、找不到页面www.baidu.com
  而下面的情况则不会被报告:
  1、网页内引用其他资源加载错误,比如图片、css不可用
  2、js执行错误

具体代码如下:

mWebView.setWebViewClient(webViewClient);

boolean isSuccess = false;
boolean isError = false;
WebViewClient webViewClient = new WebViewClient(){@Overridepublic void onPageFinished(WebView view, String url) {mHeaderView.webContent.setVisibility(View.VISIBLE);if (!isError) {isSuccess = true;mErrorView.setVisibility(View.GONE); mWebView.setVisibility(View.VISIBLE);//回调成功后的相关操作,根据实际情况处理自己的业务}isError = false;}// 新版本,只会在Android6及以上调用@Overridepublic void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {isError = true;isSuccess = false;//回调失败的相关操作,可以Toast,// 在这里显示自定义错误页 mErrorView.setVisibility(View.VISIBLE);mWebView.setVisibility(View.GONE);}/** * 这里进行无网络或错误处理,具体可以根据errorCode的值进行判断,做跟详细的处理。 * * @param view */// 旧版本,会在新版本中也可能被调用,所以加上一个判断,防止重复显示@Overridepublic void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {isError = true;isSuccess = false;//回调失败的相关操作// 在这里显示自定义错误页mErrorView.setVisibility(View.VISIBLE);mWebView.setVisibility(View.GONE);}
};

webview加载完成监听相关推荐

  1. android图片查看器,实现图片加载进度监听,实现保存图片

    1.添加依赖 implementation 'com.github.bumptech.glide:glide:4.6.1' compile 'com.github.chrisbanes:PhotoVi ...

  2. Glide4实现网络图片加载进度监听

    前言 我们都知道,使用Glide来加载一张网络上的图片是非常简单的,但是让人头疼的是,我们却无从得知当前图片的下载进度.如果这张图片很小的话,那么问题也不大,反正很快就会被加载出来.但如果这是一张比较 ...

  3. 【懒加载】监听视图是否到达可视区域

    前言 功能参考饿了么的图片组件里的懒加载图片(地址) 想要实现在快滚动到底部的时候去动态加载图片,前面写到过的监听滚动条去做懒加载也可以做到,但是想用更优雅的写法来实现,即用本地占位图片来替换网络图片 ...

  4. Android WebView加载完成的监听

    在项目里有时会需要监听WebView加载完成的状态,可能有人会使用WebViewClient里onPageFinished这个方法来监听,可是这个官方的方法到现在还是不稳定,有些能监听到,有些则不能. ...

  5. WebView加载失败或网络异常时,替换WebView的错误界面;

    WebView在加载失败时会显示一个失败原因的界面,各个手机显示的界面还都不一样,部分手机还会把Url显示出来:我们要做的就是统一加载失败的界面: 大概思路:在WebView这个控件上面再覆盖一个Vi ...

  6. Android WebView加载网页,图片等元素宽度大小不兼容手机屏幕的宽度

    无论是Android手机还是iOS手机,使用WebView加载一些没有专门为手机屏幕做适配的网页的时候,就会出现网页中的图片等标签元素的宽度大小和手机屏幕的宽度不一致的情况,如下图 之所以会出现上面的 ...

  7. webview加载超长图

    前言:android开发要经常和图片打交道.关于如何缓存,如何加载网上有很多框架.但是当我加载640*6149的长图时,实现起来效果并不理想,我用的是fresco加载.由于OpenGL渲染系统限制,A ...

  8. Flutter webView加载html富文本

    WebView 加载 Html 字符串 1.添加依赖 在项目的 pubspec.yaml 文件中添加 webview_flutter 插件的依赖: dependencies: webview_flut ...

  9. Webview加载pdf遇到的一些坑及解决方法

    大厂技术  高级前端  Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 问题来源 问题一切的来源还是得从那天说起... 有一天产品小王拿着电脑兴致勃勃的来到我的工位 ...

  10. android 使用webView加载欢迎界面的个人实现思路,实现欢迎界面不断在改变

    写这篇的时候正赶上快中午了,老娘让我去吃别人家喜酒,同时把我这个单身狗推荐出去- 对于这事 -->我很烦!!! 回归正题. android 导航界面 最多的就是ViewPager和Fragmen ...

最新文章

  1. Android常见错误
  2. github搜索不能用
  3. 【Android 逆向】Android 逆向方法 ( 静态逆向解析 | 函数调用分析 | 动态运行跟踪 | 运行日志分析 | 文件格式解析 | 敏感信息分析 | 网络信息监控 | 环境伪装模拟 )
  4. 乐高积木搭建微型地球仪,lego微型地球仪搭建详细流程
  5. python知识:@classmethod和@staticmethod的异同
  6. 【Hisi音频】Hi3520D音频输出调试
  7. 中柏平板触摸驱动_一文总览2019年最新最全的工业平板电脑定制化服务
  8. VC2010下Qt5的中文乱码问题
  9. 项目总结2:ionic3开发跨平台App如何设置和替换应用图标及启动图
  10. [WPF Bug清单]之(4)——点击RadioButton的空白没有反应
  11. jdk8下载及安装(Windows10)
  12. Origin正版申请
  13. VMWareCentOS7硬盘扩容
  14. EINT、DINT、ERTM、DRTM和INTM、DBGM解析
  15. 去哪下载python项目_Python 项目实践二(下载数据)第三篇
  16. tms320vc5416c语言编程,TMS320VC5416与CAN总线的接口设计及软件编程
  17. ubuntu/linux下打包压缩war、解压war包和jar命令
  18. 使用latex导出IEEE文献格式
  19. 三元运算符案例(两只老虎、三个和尚)问题、分析、代码
  20. 蓝桥杯国王的烦恼java,国王的烦恼 蓝桥杯

热门文章

  1. 【小沐学C++】C++获取计算机硬件信息(Windows)
  2. 如何解决宝德服务器登录bmc/ipmi口网页界面”白屏或无响应“的问题
  3. 企业缺少进项票,不用煞费苦心,税收优惠政策了解一下!
  4. 解决git push的时候报错error: failed to push some refs to 的问题
  5. ftl截取字符串并星花替换中间部分
  6. 【前端项目资源网站】—— 你想要的都有
  7. 数据仓库系列:StarRocks 入门培训教程
  8. 集成学习03-偏差与方差理论
  9. 【笔记】Git 常用命令速查表
  10. Crack Captcha | 某招投标信息查询网站滑块验证码分析