WebView自己加载子页面

默认情况下,点击WebView所加载的页面上的超链接按钮时,是启动系统自带的浏览器去加载新的页面。如果要让WebView自己加载,需要添加如下代码:
webView.setWebViewClient(new SelfWebViewClient());

SelfWebViewClient继承自WebViewClient,如下:
public class SelfWebViewClient extends WebViewClient {@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);//加载结束}@Overridepublic void onReceivedError(WebView view, int errorCode,String description, String failingUrl) {super.onReceivedError(view, errorCode, description, failingUrl);//在此处显示加载失败页面loadFailure.setVisibility(View.VISIBLE);}@Overridepublic void onLoadResource(WebView view, String url) {super.onLoadResource(view, url);//加载资源}@Overridepublic void onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler, String host, String realm) {super.onReceivedHttpAuthRequest(view, handler, host, realm);//webview保存密码}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);//开始加载页面}@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {//点击链接跳转,对网页中超链接按钮的响应。 view.loadUrl(url);return true}}

WebViewClient的一般生命周期如下:
如果加载成功
onPageStarted-->> onLoadResource-->>onPageFinished-->> onLoadResource
如果加载失败
onPageStarted-->>
onLoadResource-->>onReceivedError-->>onPageFinished-->>onPageFinished

WebViewClient的常见用途有三个:1、让WebView自己加载子页面;2、如果WebView加载失败显示失败页面;3、记住页面登录密码。这三个功能上面代码已经简单介绍了。

WebView从子页面返回

上面介绍了如何如何直接用WebView加载子页面,但是如何从子页面返回上一页面呢?这个需要有一个出发时间,我就用返回键来触发,代码如下:
  @Override  public boolean onKeyDown(int keyCode, KeyEvent event) {       if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {           webView.goBack(); //goBack()表示返回WebView的上一页面           return true;       } else{      finish();      }      return false;   } 



更多相关文章

  1. Android(安卓)仿联系人菜单,带字母索引,顶部挤压动画,recyclerview
  2. Android中WebViewClient与WebChromClient两个类的区别
  3. Android(安卓)4.2 API文档页面打开过慢的问题
  4. tabhost (activitygroup)中子页面弹出对话框
  5. IE 和android浏览器上页面图片加载判断
  6. Android(安卓)Studio 使用 System.loadLibrary()的一些问题
  7. Google Maps API v2密钥申请
  8. Webview里JS跳转到Activity页面
  9. Android(安卓)DataBinding+ViewModel+LiveData小Demo

随机推荐

  1. 零碎知识点回顾——常用数据结构
  2. OpenCV移动端之android JNI
  3. XX学院Android VIP视频教程
  4. Android之Layout资源文件
  5. 美团外卖Android(安卓)Lint代码检查实践
  6. Android中保存数据常用的方法
  7. 课堂小结
  8. Android系统启动顺序(按下power键后所做
  9. 3G应用开发之Android(安卓)传智播客 基础
  10. 移动平台Dialog内按键顺序研究