【问题标题】:Webview is showing content from other Webview (multiple webviews in the same app)Webview 正在显示来自其他 Webview 的内容(同一应用程序中的多个 Webview)
【发布时间】:2015-09-22 12:11:00
【问题描述】:
【问题讨论】:
标签:
android
webview
android-webview
【解决方案1】:
也许您需要在加载新 URL 之前清除 Webview 数据/内容。
有一种方法称为clearView();,但在 API 级别 18+ 中已弃用,因此您需要检查 API 版本并应用以下适当的解决方案。
检查此代码。
if (Build.VERSION.SDK_INT < 18) {
webView.clearView();
} else {
webView.loadUrl("about:blank");
}
希望这对您有所帮助。
谢谢。
【解决方案2】:
我尝试了很多选项,但只有在我遵循以下操作时才可以使用:
首先,当您重新加载整个 web 视图(或者如果您的布局中有一部分)时,在设置内容之前,将可见性设置为 GONE。
mWebView.setVisibility(View.GONE);
然后,设置内容:
mWebView.loadDataWithBaseURL(//My URL);
然后,再次将可见性设置为 VISIBLE:
mWebView.setVisibility(View.VISIBLE);
有时,在早期版本的 Android 中,webview 会加载很大的内容。然后,当您加载不是那么大的新内容时,webview 不会将自己拉伸到新内容,并且页面始终保持已放置的大尺寸。
这个策略在这里工作得很好,解决了这两个问题(你的和最后一个)。
【解决方案3】:
不,你不需要做一些特殊的事情来管理同一个 App 中的不同 Webview,即使在同一个 Activity 布局中也是如此。
请记住,就像documentation,每个应用程序的多个 Webview 共享同一个缓存。