项目中需要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; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
您可能感兴趣的文章:Java/Android 获取网络重定向文件的真实URL的示例代码 总结以上是内存溢出为你收集整理的Android Webview重定向问题解决方法全部内容,希望文章能够帮你解决Android Webview重定向问题解决方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)