Karthik
Karthik

Reputation: 5033

How to load progress dialog inside a webview when we navigate from a url to other in android?

I would like to know how to invoke progress dialog inside a webview when we we navigate to new url from a url.Kindly provide me an example or snippet on how to achieve this.Thank a lot.

Upvotes: 0

Views: 739

Answers (2)

Biraj Zalavadia
Biraj Zalavadia

Reputation: 28484

Try this may help you

web = (WebView) findViewById(R.id.webview01);
    progressBar = (ProgressBar) findViewById(R.id.progressBar1);

    web.setWebViewClient(new myWebClient());
    web.getSettings().setJavaScriptEnabled(true);

    web.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress) {
            if(progress<100){
                //show progress
            }else{
                //hide progress
            }
        }
    });
    web.setWebViewClient(new WebViewClient());
    web.getSettings().setJavaScriptEnabled(true);
    web.getSettings().setPluginState(PluginState.ON);
    web.loadUrl("http://www.google.com");

Upvotes: 0

Piyush
Piyush

Reputation: 18933

you can use this on onCreate() method:

    web = (WebView) findViewById(R.id.webview01);
    progressBar = (ProgressBar) findViewById(R.id.progressBar1);

    web.setWebViewClient(new myWebClient());
    web.getSettings().setJavaScriptEnabled(true);
    web.loadUrl("http://www.google.com");

and then use

    public class myWebClient extends WebViewClient
   {
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        // TODO Auto-generated method stub
        super.onPageStarted(view, url, favicon);
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // TODO Auto-generated method stub

        view.loadUrl(url);
        return true;

    }

    @Override
    public void onPageFinished(WebView view, String url) {
        // TODO Auto-generated method stub
        super.onPageFinished(view, url);

        progressBar.setVisibility(View.GONE);
    }
    }

   // To handle "Back" key press event for WebView to go back to previous screen.
   @Override
   public boolean onKeyDown(int keyCode, KeyEvent event)
   {
    if ((keyCode == KeyEvent.KEYCODE_BACK) &amp;&amp; web.canGoBack()) {
        web.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
  }
  }

Upvotes: 1

Related Questions