WebViewClient的shouldOverrideUrlLoading()方法返回值设为ture和false突然没有区别了,怎么回事??? 100
理论上当你点击一个页面中一个链接时会经过shouldOverrideUrlLoading,returntrue时,你可以自己来处理这个url,webview则不再处理这个...
理论上当你点击一个页面中一个链接时会经过shouldOverrideUrlLoading,return true时,你可以自己来处理这个url,webview则不再处理这个url;return false时,webview来处理这个url。
通俗的说,当返回true时,你点任何链接都是失效的,需要你自己跳转。return false时webview会自己跳转。我现在遇到的问题是return true和false一样的效果,之前返回ture的时候确实可以实现点击链接失效,现在不行了,但是代码也找不出问题,不知道有没有大神遇到一样情况的,怎么解决的,如有,请不吝赐教,万分感谢!!! 展开
通俗的说,当返回true时,你点任何链接都是失效的,需要你自己跳转。return false时webview会自己跳转。我现在遇到的问题是return true和false一样的效果,之前返回ture的时候确实可以实现点击链接失效,现在不行了,但是代码也找不出问题,不知道有没有大神遇到一样情况的,怎么解决的,如有,请不吝赐教,万分感谢!!! 展开
1个回答
展开全部
千锋扣丁学堂it为您解答:
shouldoverrideurlloading返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
shouldOverrideUrlLoading方法在webview加载URL的时候可以截获这个动作。
这里主要说它的返回值的问题:
1、 默认返回:return super.shouldOverrideUrlLoading(view, url); 这个返回的方法会调用父类方法,也就是跳转至手机浏览器,平时写webview一般都在方法里面写 webView.loadUrl(url); 然后把这个返回值改成下面的false。
2、返回: return true; webview处理url是根据程序来执行的。
3、返回: return false; webview处理url是在webview内部执行。
shouldoverrideurlloading返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
shouldOverrideUrlLoading方法在webview加载URL的时候可以截获这个动作。
这里主要说它的返回值的问题:
1、 默认返回:return super.shouldOverrideUrlLoading(view, url); 这个返回的方法会调用父类方法,也就是跳转至手机浏览器,平时写webview一般都在方法里面写 webView.loadUrl(url); 然后把这个返回值改成下面的false。
2、返回: return true; webview处理url是根据程序来执行的。
3、返回: return false; webview处理url是在webview内部执行。
追问
最烦复制粘贴的答案,尤其不看别人问题就瞎答的!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询