时间:2021-05-21
项目中需要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; }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
openoffice不能调用SCIM的问题解决方法$oowriterQUOTE:Gtk-Message:Failedtoloadmodule"gnomebrea
本文实例讲述了Android编程中TextView宽度过大导致Drawable无法居中问题解决方法。分享给大家供大家参考,具体如下:在做项目的时候,很多时候我们
出现这个问题解决方法:点击File>Settings>Tools>ServerCertificates>Acceptnon-trustedcertificate
Android编译出错版本匹配问题解决办法解决问题的关键在于版本匹配,compileSdkVersioncompileSdkVersiontargetSdkVe
Mysqlmysqllostconnectiontoserverduringquery问题解决方法缘由:在查询Mysql中的数据库,或者修改比较大的表的时候就会