WebView加载出错的处理方案「建议收藏」

2022-09-15 13:19:47 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

1.加上下拉刷新。 2.在WebView的setWebViewClient中加入重写方法

代码语言:javascript复制
//错误的处理方式需要分开两种,原因:在Android6以上的机器上,网页中的任意一个资源获取不到(比如字体),网页就很可能显示自定义的错误界面

// 旧版本,会在新版本中也可能被调用,所以加上一个判断,防止重复显示
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
    super.onReceivedError(view, errorCode, description, failingUrl);
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
        return;
    }
    // 在这里显示自定义错误页
    emptyView.setVisibility(View.VISIBLE);
}

// 新版本,只会在Android6及以上调用
@TargetApi(Build.VERSION_CODES.M)
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
    super.onReceivedError(view, request, error);
    if (request.isForMainFrame()){
        // 在这里显示自定义错误页
        emptyView.setVisibility(View.VISIBLE);
    }
}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159215.html原文链接:https://javaforall.cn

0 人点赞