我的Android应用程序中有一个WebView,用于登录我的应用程序。 我在WebView中加载的URL是" https://accounts.google.com/ServiceLogin#identifier"用ru到我的网站。
在加载之前,我启动一个进度对话框,其中显示"请稍候"。
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
Utils.mShowProgrossDiolog(mContext);
}
@Override
public void onPageFinished(WebView view, String inComingURL) {
super.onPageFinished(view, inComingURL);
Utils.mHideProgrossDiolog();
}
问题是,因为WebView加载了一些内部URL来验证和其他事情...我的Loader波动为show-hide-show-hide。
我希望它仅在最终网站加载时隐藏。有人可以帮助我在这种情况下做什么。
答案 0 :(得分:0)
您可以使用vwebView.getUrl();
检查加载的网址
public void onPageFinished(WebView view, String inComingURL)
并且仅当它与您要加载的URL匹配时才会关闭进度对话框。你可能不得不处理像url根本没有加载的情况。
答案 1 :(得分:0)
您可以通过网络Chrome客户端检查网页加载的进度,一旦达到100%,您就可以隐藏对话框。
private class MyWebChromeClient extends WebChromeClient{
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if(newProgress==100){
progressDialog.dismiss();
}
}
}
您必须为您的网络视图设置webview客户端才能获得回调。
webView.setWebChromeClient(new MyWebChromeClient());