Android Webview重定向问题解决方法
2018-05-04 08:34
771 查看
项目中需要webview重定向,但是由于一个webveiw里面有许多加载操作,因此在调用webview。goback()方法时,往往达不到我们需要的操作效果。
1.解决方法
WebBackForwardList webBackForwardList=webview.copyBackForwardList()获取webview加载栈,然后更具加载栈做逻辑操作
2.webBackForwardList常用的方法
int size = webBackForwardList.getSize() webBackForwardList.getCurrentItem() webBackForwardList.getCurrentIndex() webBackForwardList.getItemAtIndex(index)
getsize()方法获取当前加载栈的长度;
getCurrentItem()获取当前webview所加载的界面,我们可以在这个方法下获得url,title等内容;
getCurrentIndex()获取当前加载在加载栈中的位置;
webBackForwardList.getItemAtIndex(index)获取加载栈中第index页面;
3.合理使用
在2中我们获取到加载页面的一些信息,然后可以根据当前url,标题,位置。来进行相应的处理。
4.Demo使用
现在我们有这样一个场景:打开一个activity,webview加载A界面,然后用户在A里面点击B,然后点击C,点击D。返回操作时我们需要从D跳到B,然后跳A.下面为代码:
public boolean onKeyDown(int keyCode, KeyEvent event) { if (webView.canGoBack()) { WebBackForwardList webBackForwardList = webView.copyBackForwardList(); if (webBackForwardList.getCurrentIndex() == 4) {//当前处于D界面 webView.loadUrl(webBackForwardList.getItemAtIndex(1).getUrl());//挑转到B界面 return true; } webView.goBack(); } return true; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- Android 解决WebView调用loadData()方法显示乱码的问题
- android 加载web view的时候,点击输入框,导致页面放大的问题解决方法
- android webview 解决回退重定向的问题
- 解决Android Webview 重定向无法 goback 的方法
- 关于Android原生集成5+webview,监听webview返回时,执行两次onkey方法问题的解决
- android webview 解决回退重定向的问题
- Android进阶---Android Webview重定向问题解决
- Android使用WebView无法定位问题的解决方法
- android webview loadData乱码问题解决方法
- Android webview通过http get下载文件下载两次的问题及解决方法
- android webview内容压线问题解决方法
- android webview 如何去广告和如何解决重定向返回的问题。
- [android webview]android webview loadData乱码问题解决方法
- android webview 如何去广告和如何解决重定向返回的问题。
- JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
- Android WebView 中音频关闭问题的解决方法,简单粗暴
- android上webview的一个问题解决方法
- android webview内容压线问题解决方法
- Android 5.1版本以上WebView内存泄漏问题及快速解决方法
- Android WebView 软键盘遮挡输入框问题的解决方法