Dar*_*pan 3 android android-webview
我正在使用这种方法 - 返回true或者super.shouldOverrideUrlLoading(view,url);
我天真地道歉但是我不明白返回true或超类方法的区别是什么?
@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);
}
}
Run Code Online (Sandbox Code Playgroud)
Dar*_*pan 13
我花了一些时间在所有场景上做了一些排列.这就是我发现的 -
return false- >如果你使用这个,你甚至不需要加载url,即不需要放loadUrl(url).WebView会自动加载网址.
return true- >当前网址不会被加载WebView,引用Android网站
如果提供了WebViewClient,则返回true表示主机应用程序处理该URL
所以,你的应用程序将处理它.即.您的应用必须具有一些功能才能使用该网址.即使你只想在你的页面中加载页面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;
}
Run Code Online (Sandbox Code Playgroud)
在这里,如果你点击第二页上的任何链接,它将不会去任何地方.因为在这个函数你的if条件不满足,它返回true所以它会看到应用程序是否实现了某些东西.既然我们没有,那么它只会留在那里.
我试图简化它以帮助新的开发人员.
| 归档时间: |
|
| 查看次数: |
5533 次 |
| 最近记录: |