Webview显示来自其他Webview的内容(同一应用中的多个webview)

时间:2015-09-22 12:11:00

标签: android webview android-webview

我有两个网页浏览量,加载不同的内容。有时,一个webview显示来自其他webview的内容。这很奇怪,我无法理解为什么。

我检查了官方文档,但我发现在同一个应用程序中加载不同内容的网页浏览量不同的问题。

http://developer.android.com/reference/android/webkit/WebView.html

http://developer.android.com/reference/android/webkit/WebSettings.html

http://developer.android.com/reference/android/webkit/WebStorage.html

在同一个应用程序中管理不同的Web视图时,我们应该做些什么吗?

由于

3 个答案:

答案 0 :(得分:0)

在加载新网址之前,您可能需要清除Webview数据/内容。 有一种名为clearView();的方法,但在API级别18+中已弃用,因此您需要检查API版本并应用以下适当的解决方案。

检查此代码。

if (Build.VERSION.SDK_INT < 18) {
   webView.clearView();
} else {
   webView.loadUrl("about:blank");
}

希望这会帮助你。 感谢。

答案 1 :(得分:0)

我尝试过很多选择,但是当我遵循这个选项时,我才能使用它:

首先,当您重新加载整个网页视图时(或者如果您的布局中有部分内容),在设置内容之前,请将可见性设置为GONE。

mWebView.setVisibility(View.GONE);

然后,设置内容:

mWebView.loadDataWithBaseURL(//My URL);

然后,再次将可见性设置为VISIBLE:

mWebView.setVisibility(View.VISIBLE);

有时,在早期版本的Android中,webview会加载一个很大的内容。然后,当您加载不那么大的新内容时,webview不会将自己扩展到新内容,并且页面始终保持已放在其上的大尺寸。 这个策略在这里工作得很好,可以解决这两个问题(你的问题和最后一个问题)。

答案 2 :(得分:0)

不,即使在相同的活动布局中,您也不需要在同一个应用中管理不同的Web视图。 请记住,documentation,多个Web视图每个应用程序共享相同的缓存。