【发布时间】:2014-06-27 12:41:43
【问题描述】:
我正在基于此实现超时:set loadURLTImeOutValue on webview
当达到时间限制时,我隐藏 WebView 并显示错误。有时,在下载/渲染页面时会达到时间限制。我不希望在下载页面时出现错误。我只希望出现网络问题或无法访问页面时出现错误。
如何检查 WebView 的当前状态? (例如解析DNS、等待服务器、下载内容等)
【问题讨论】:
我正在基于此实现超时:set loadURLTImeOutValue on webview
当达到时间限制时,我隐藏 WebView 并显示错误。有时,在下载/渲染页面时会达到时间限制。我不希望在下载页面时出现错误。我只希望出现网络问题或无法访问页面时出现错误。
如何检查 WebView 的当前状态? (例如解析DNS、等待服务器、下载内容等)
【问题讨论】:
您可以通过 WebChromeClient.onProgressChanged 函数检查加载状态。
boolean isLoading = false;
void initWebView(WebView webView) {
webView.setWebChromeClient(new MyWebChromeClient());
}
class MyWebChromeClient extends WebChromeClient {
public MyWebChromeClient() {
}
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress == 100) {
isLoading = false;
} else {
isLoading = true;
}
}
}
【讨论】: