简体   繁体   English

在WebView的webChromeClient中不会关闭ProgressDialog

[英]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.

相关问题 使用webchromeclient获取要加载的webview - Getting a webview to load with webchromeclient Progressdialog在排球响应区内没有被解雇 - Progressdialog is not getting dismissed inside the volley response block 阻止ProgressDialog被onClick解雇 - Prevent ProgressDialog from getting dismissed by onClick 在 AsyncTask 的 doInBackground 方法出现 Toast 之前,ProgressDialog 被 Dismissed - ProgressDialog getting Dismissed before Toast appears from doInBackground method of AsyncTask 在AsyncTask中未关闭ProgressDialog - ProgressDialog not dismissed in AsyncTask 在这种情况下,为什么不能关闭ProgressDialog? - Why is the ProgressDialog not being dismissed, in this case? WebChromeClient的onShowFileChooser无法与android studio中的webview一起使用 - WebChromeClient's onShowFileChooser not working with webview in android studio Android WebView WebChromeClient:onProgressChanged() 中的进度值不准确 - Android WebView WebChromeClient : inaccurate progress value in onProgressChanged() WebView + WebChromeClient方法onCreateWindow没有调用target =“_ blank” - WebView + WebChromeClient method onCreateWindow not called for target=“_blank” 使用AsyncTask提取JSON时,永远不会关闭ProgressDialog - ProgressDialog is never dismissed when fetching JSON with AsyncTask
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM