引子
基于之前的WebView的基本使用,我们在开发过程中可能会遇到各种各样的需求,那么具体需求就具体处理,那我们就来欣赏这一路的风景,旅途不止,风景无限~~~
-
风景一:原生页面中的webview跳转了多个html页面,需要逐一返回html页面,最后退出该原生页面。
这个比较常见,还是总结一下,重写该原生页面的返回监听事件(一般就是在实体返回按键和头部返回处处理)见代码:
//实体返回按键监听事件
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
handleWebViewGoBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
//封装具体的处理方法,以便在多个返回监听事件中处理
private void handleWebViewGoBack() {
if (webView.canGoBack()) {//是否还可以返回,如果可以
webView.goBack();
} else {
finish();
}
}
一直以为回退固定的页数这个方法很鸡肋,结果业务功能真的用到了,这里将相关前进回退功能都贴出吧:
//是否可以后退
Webview.canGoBack()
//后退网页
Webview.goBack()
//是否可以前进
Webview.canGoForward()
//前进网页
Webview.goForward()
//是否可以前进或者后退多少歩(依然正为可进,负为可退)
WebView.canGoBackOrForward(int steps)
//以当前的index为起始点前进或者后退到历史记录中指定的steps
//如果steps为负数则为后退,正数则为前进
Webview.goBackOrForward(intsteps)
网友评论