我发现了一个我无法复制的有趣错误,但认为这里有人可以提供一些见解。
我有一项活动,目前部分是本地的,部分是基于网络的。我的意思是一个元素只是一个 WebView,直到可以实现本机级别的实现。
当我对正在加载的页面进行更改时,我在移动界面中使用 Chrome 开发人员工具立即看到了更改。但是,我无法立即在 MainApp 中看到 WebView 的变化。作为测试,我安装了一个新应用程序,该应用程序将页面加载到我看到更改的 WebView 中。清除 MainApp 中的数据后,我能够看到上述更改。
我做了一些更改,但现在这些更改立即反映在我的 WebView 中(退出活动并重新进入时)。
这些是我的 WebView 设置,您能看出我最初没有看到这些更改的原因吗?在处理数据如何存储在 WebView 中并希望确保我对网页所做的更新立即反映在应用程序中时,我不是很精明(还 :))。谢谢!
// Initialize WebView
if (Build.VERSION.SDK_INT >= 19)
mWebView.setWebContentsDebuggingEnabled(false);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
// Hide ProgressBar
mProgressBar.setVisibility(View.GONE);
}
});
final ActionBarActivity activity = this;
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// Activities and WebViews measure progress with different scales.
// The progress meter will automatically disappear when we reach 100%
mProgressBar.setProgress(progress);
}
});
// Settings for WebView data
WebSettings ws = mWebView.getSettings();
ws.setSaveFormData(false);
ws.setSavePassword(false); // Not needed for API level 18 or greater (deprecated)