【发布时间】:2012-07-24 17:47:22
【问题描述】:
我正在尝试使用 shouldOverrideUrlLoading 方法访问 url。出于某种原因,当我尝试访问 html 文件中存在的 url 时,出现 Web page not available 错误。以前我可以访问 url,因为我将 html 文件存储在 raw 文件夹中,但我需要将其移动到 assets文件夹,因为这样代码看起来更干净。这是我的代码,谁能告诉我如何解决这个问题。
webview.setWebChromeClient(new WebChromeClient());
webview.setWebViewClient(new WebViewClient());
webview.loadUrl("file:///android_asset/myfile/file.html");
webview.setVerticalScrollBarEnabled(false);
webview.setWebViewClient(new WebViewClient()
{
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.equalsIgnoreCase("some text")){
setDialog("some fancy text");
}
【问题讨论】:
-
你为什么要调用 setWebViewClient() 两次?您的 html 文件也是在子文件夹中还是直接在 assets 文件夹中?
-
谢谢蒂姆,我真的错过了,但是是的,该文件位于资产文件夹的子文件夹中..
-
它显示什么而不是网页?当 loadUrl 调用发生时,logcat 中是否有任何消息?
-
对不起,蒂姆,但 logcat 中没有消息,当我尝试访问 url 时,显示一个网页不可用页面,并在 file:///android_asset/ 处显示错误..web 页由于找不到请求的文件,因此无法加载文件/某些文本..
-
file:///在 Android 4.0 中被认为是“不安全的”。很有可能您的代码实际上可以在运行 Android 2.3 或更低版本的设备上运行......但是,它显然不再适用于 Ice Cream Sandwich。我一直无法找到可行的替代方案:/
标签: android webview android-webview