• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 7.5.6 WebView处理网页返回的错误码信息

7.5.6 WebView处理网页返回的错误码信息

作者:coder-pig 字体:[增加 减小] 来源:互联网 时间:2017-05-22

coder-pig通过本文主要向大家介绍了miui7.5.6,陌陌7.5.6,小米max 7.5.6,小米5 7.5.6,小米7.5.6等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本节引言:

嘿嘿,假如你们公司是做HTML5端的移动APP的,就是通过WebView来显示网页的,假如你访问的网页 不存在,或者其他错误,报404,401,403,30X等错误的状态码,如果直接弹出WebView默认的错误 提示页面,可能显得不那么友好,我们可以重写WebViewClient的onReceivedError()方法来实现我们 想要的效果,一般的做法有两种,一种是:我们自己在assets目录下创建一个用于显示错误信息的 HTML页面,当发生错误,即onReceivedError()被调用的时候我们调用webView的loadUrl跳到我们 的错误页面,比如:wView.loadUrl("file:///android_asset/error.html");!又或者我们另外写 一个布局或者直接一个大大的图片,平时设置为不可见,当页面错误时,让该布局或者图片可见! 下面我们来写个简单的示例!


1.页面错误,加载自定义网页:

运行效果图:

关键代码:

wView.setWebViewClient(new WebViewClient() {
//设置在webView点击打开的新网页在当前界面显示,而不跳转到新的浏览器中
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    view.loadUrl(url);
    return true;
}

@Override
public void onReceivedError(WebView view, int errorCode, String description,
    String failingUrl) {
        super.onReceivedError(view, errorCode, description, failingUrl);
        wView.loadUrl("file:///android_asset/error.html");
    }
});

2.页面错误,显示相应的View

运行效果图:

实现代码:

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    private WebView wView;
    private ImageView img_error_back;
    private Button btn_refresh;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wView = (WebView) findViewById(R.id.wView);
        img_error_back = (ImageView) findViewById(R.id.img_error_back);
        btn_refresh = (Button) findViewById(R.id.btn_refresh);
        wView.loadUrl("http://www.baidu.com");
        wView.setWebViewClient(new WebViewClient() {
            //设置在webView点击打开的新网页在当前界面显示,而不跳转到新的浏览器中
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }

            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                super.onReceivedError(view, errorCode, description, failingUrl);
                wView.setVisibility(View.GONE);
                img_error_back.setVisibility(View.VISIBLE);
            }
        });
        btn_refresh.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        wView.loadUrl("http://www.baidu.com");
        img_error_back.setVisibility(View.GONE);
        wView.setVisibility(View.VISIBLE);
    }
}

3.示例代码下载:

WebViewDemo8.zip:下载 WebViewDemo8.zip


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 7.5.6 WebView处理网页返回的错误码信息

相关文章

  • 2017-05-26Android中使用Notification实现宽视图通知栏(Notification示例二),notification大视图
  • 2017-05-26仿Android印象笔记底部导航栏
  • 2017-05-26Android--activity切换时的动画,android--activity
  • 2018-01-28android Listview的自定义界面的使用
  • 2017-05-26深入了解Volley如何执行一个Request的流程
  • 2017-05-26[android] post请求接口demo测试代码,androiddemo
  • 2017-05-26在Linux上分析死锁问题的简单方法
  • 2017-05-26Mac下载安装Android Studio教程,androidstudio
  • 2017-05-26理解android中ListFragment和Loader,androidlistfragment
  • 2017-05-26解决VS2017不连接visual studio emulator for android,vs2017android

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • TODO的使用以及自定义
    • Play 2D games on Nexus 6P running Android N7.1.1 with Daydream View VR headset,n7.1.1headset
    • Android Studio: Error:Cannot locate factory for objects of type DefaultGradleConnector, as ConnectorServiceRegistry,locateregistry
    • udp connect 总结
    • 2016年Android市场的8个大胆预测,2016年android
    • 我的Android进阶之旅之Android自定义View来实现解析lrc歌词同步滚动、上下拖动、缩放歌词等功能
    • Android使用静默安装时碰见的问题,android静默
    • 8.1.2 Android中的13种Drawable小结 Part 2
    • ViewPager实现滑动翻页效果,viewpager滑动翻页
    • android View绘制源码分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有