【发布时间】:2012-12-26 02:30:16
【问题描述】:
编辑:我几年前参与过这个项目,不幸的是我无法验证任何答案是否在给定的场景中有效。
我很难使用一个应该显示我们博客的 WebView。初始化后,它工作得很好。用户可以导航到 WebView 中的不同链接。回到博客,WebView 外面有一个按钮,它应该再次加载主博客站点。
问题是,在第二次调用 loadUrl 之后没有加载任何内容。这是我的代码:
private WebView wv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.blog);
wv = (WebView) findViewById(R.id.blog_webview);
wv.getSettings().setJavaScriptEnabled(true);
wv.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon {
MyLog.logDump("onPageStarted: " + url);
}
@Override
public void onPageFinished(WebView view, String url) {
MyLog.logDump("onPageFinished: " + url);
}
});
wv.loadUrl(Constants.BLOG_URL);
}
我的 OnClickListener 调用的函数如下:
public void reLoadUrl() {
wv.loadUrl(Constants.BLOG_URL);
}
但是,尽管 onPageFinished 和 onPageStarted 中的日志显示我的 wv.loadUrl 正在被调用并且它正在加载正确的 url,但 webview 本身的内容并没有改变。我尝试清除缓存、历史记录、视图,尝试不同的 WebSettings,尝试使用 webView.goBack() - 没有结果。这些想法也行不通:Strange webview goBack issue in android
有时,reLoadUrl 会显示所需的结果 - 但一旦失败,它就无法再次工作。任何想法可能会发生什么?我确实尝试阅读 WebView 代码,但找不到任何可以帮助我的东西。
我唯一可以补充的是,我们正在使用一些严重依赖 webViews 的广告网络 - 我试图将其关闭,但我没有删除这些库,所以我不确定它们是否没有罪魁祸首。
有什么想法吗??
【问题讨论】:
-
您的 logcat 中是否收到任何警告?也许是一些 SSL 的东西
-
虽然这听起来很奇怪,但您可以尝试在
wv.loadUrl(..)之后添加wv.reload()。 -
目前日志中没有错误或警告。 onReceivedError 也没有被触发。在 loadUrl 之后调用 reload 也没有帮助。
-
@Elena hi..你解决了吗?我有完全相同的问题..
-
我也因为这个问题失去了 2 天的时间。而且仍然没有成功。如果你得到答案,请发布答案
标签: android webview webviewclient