WebView覆盖默认错误页面

当WebView加载页面出错时,通常会显示默认的错误页面。本文介绍如何覆盖这个默认页面,展示自定义的错误页面。通过重写WebViewClient并监听加载错误,可以实现加载失败时加载自定义的错误页面。在实际操作中,需要注意使用webview.loadUrl而不是webView.reload来避免重加载时的异常现象。
摘要由CSDN通过智能技术生成

需求

在我们使用WebView时,如果不对WebViewClient做任何处理,在页面加载出错时会显示默认的错误页面,长的比较丑,如果我们想要覆盖这个错误页面,显示成我们自己的错误页面,该如果处理?

很简单,重写WebViewClient,通过回调交给调用者来换成我们自己的页面就可以了

原理

覆盖Client接收到的错误,加载空页面
提供回调方法用于处理加载过程,既页面开始/页面结束/接收错误

踩过的坑

webview重加载的时候,如果使用webView.reload,依然会出现某些奇怪的现象,所以还是推荐使用webview.loadUrl的方式去重加载页面

下面看完整实现

/**
*自定义WebClient,覆盖默认错误页面,显示自定义错误页面
*
**/
public class CustomWebClient extends WebViewClient {
   

    OnPageCallback onPageCallback ;//此回调对象用于接收处理页面结果

    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值