编辑:几年前我参与了这个项目,不幸的是我无法验证在给定的场景中是否有任何答案.
我很难用一个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);
}
Run Code Online (Sandbox Code Playgroud)
我的OnClickListener调用的函数如下:
public void reLoadUrl() {
wv.loadUrl(Constants.BLOG_URL);
}
Run Code Online (Sandbox Code Playgroud)
但是,尽管onPageFinished和onPageStarted中的日志显示我的wv.loadUrl正在被调用并且它正在加载正确的url,但webview中的内容本身并没有改变.我已经尝试清除缓存,历史,视图,尝试过不同的WebSettings,试图使用webView.goBack() - 而不是结果.这些想法也不起作用:android中的奇怪的webview goBack问题
有时,reLoadUrl会显示所需的结果 - 但一旦失败,它就再也无法工作了.有什么想法会发生什么?我确实尝试过阅读WebView代码但我找不到任何可以帮助我的东西.
我唯一可以补充的是,我们正在使用一些严重依赖于webViews的广告网络 - 我试图将它们关闭,但我没有删除这些库,所以我不确定它们不是罪魁祸首.
有任何想法吗??