[英]ProgressDialog not getting dismissed in webChromeClient in WebView
I am having below code but Progress Dialog never gets dismissed even after progress is 100 percent. 我有下面的代码,但是即使进度为100%,“进度对话框”也不会消失。
try{
webView = (WebView) findViewById(R.id.browserwebview);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
catalogProgressDialog = new ProgressDialog(activity);
catalogProgressDialog.setCancelable(true);
catalogProgressDialog.show();
catalogProgressDialog.setProgress(0);
activity.setProgress(progress * 1000);
catalogProgressDialog.incrementProgressBy(progress);
if(progress == 100 && catalogProgressDialog.isShowing()){
catalogProgressDialog.dismiss();
}
}
});
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
Toast.makeText(activity, "Oh no!"+ description, Toast.LENGTH_SHORT).show();
}
@Override
public void onPageFinished(WebView view, String url) {
view.scrollBy(0, view.getContentHeight());
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
});
webView.loadUrl("http://www.google.com");
webView.pageDown(true);
webView.setHorizontalScrollBarEnabled(true);
webView.setVerticalScrollBarEnabled(true);
}
catch (Exception e) {
e.printStackTrace();
}
It doesn't even show progress completed. 它甚至不显示进度已完成。 thanks.
谢谢。
Are you sure you are on your main UI thread? 您确定您在主UI线程上吗? Have you tried wrapping your
您是否尝试过包装
catalogProgressDialog.dismiss();
in a Handler? 在处理程序中?
handler.post(new Runnable() {
@Override
public void run() {
catalogProgressDialog.dismiss();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.