gpt4 book ai didi

android - shouldOverrideUrlLoading 返回方法

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:37 24 4
gpt4 key购买 nike

我正在使用这种方法 -并返回 truesuper.shouldOverrideUrlLoading(view,url);我为自己的天真道歉,但我不明白返回 true 或父类(super class)方法有什么区别?

 @Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
UltimatixTouchWebView webView = (UltimatixTouchWebView) view;

if (null != url && ((url.endsWith(".js") || url.endsWith(".css")))
&& (checkResource(url))) {
return true;
} else {
return super.shouldOverrideUrlLoading(view, url);
}
}

最佳答案

我花了一些时间对所有场景进行了一些排列。这是我发现的 -

  1. return false -> 如果你使用这个,你甚至不需要加载 url,即不需要放置 loadUrl(url)WebView 会自动加载 url。

  2. return true -> 当前 URL 将不会加载到 WebView 中,引用 Android site

    If WebViewClient is provided, return true means the host application handles the url

因此,您的应用会处理它。 IE。您的应用程序必须具有某些功能才能在该网址上运行。即使您只想在 WebView 中加载页面,您也必须编写 webView.loadUrl(URL);。否则它不会加载您的页面。

在此示例中,假设您想从第一页转到 second.html。

public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("second.html")){
Toast.makeText(con, "Second Page", Toast.LENGTH_LONG).show();
view.loadUrl(url);
}
return true;
}

在这里,如果你点击第二页上的任何链接,它不会去任何地方。因为在这个函数中你的 if 条件不满足,它返回 true 所以它会看看应用程序是否已经实现了一些东西。既然我们还没有,那么就只能留在那里了。

我试图简化它以帮助新的开发人员。

关于android - shouldOverrideUrlLoading 返回方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com