Add a Progress Bar in WebView Add a Progress Bar in WebView android android

Add a Progress Bar in WebView


I have added few lines in your code and now its working fine with progress bar.

        getWindow().requestFeature(Window.FEATURE_PROGRESS);        setContentView(R.layout.main );        // Makes Progress bar Visible        getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);        webview = (WebView) findViewById(R.id.webview);        webview.setWebChromeClient(new WebChromeClient() {            public void onProgressChanged(WebView view, int progress)               {                //Make the bar disappear after URL is loaded, and changes string to Loading...                setTitle("Loading...");                setProgress(progress * 100); //Make the bar disappear after URL is loaded                     // Return the app name after finish loading                if(progress == 100)                   setTitle(R.string.app_name);                }            });        webview.setWebViewClient(new HelloWebViewClient());        webview.getSettings().setJavaScriptEnabled(true);        webview.loadUrl("http://www.google.com");


pass your url in this method

private void startWebView(String url) {        WebSettings settings = webView.getSettings();        settings.setJavaScriptEnabled(true);        webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);        webView.getSettings().setBuiltInZoomControls(true);        webView.getSettings().setUseWideViewPort(true);        webView.getSettings().setLoadWithOverviewMode(true);        progressDialog = new ProgressDialog(ContestActivity.this);        progressDialog.setMessage("Loading...");        progressDialog.show();        webView.setWebViewClient(new WebViewClient() {            @Override            public boolean shouldOverrideUrlLoading(WebView view, String url) {                view.loadUrl(url);                return true;            }            @Override            public void onPageFinished(WebView view, String url) {                if (progressDialog.isShowing()) {                    progressDialog.dismiss();                }            }            @Override            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {                Toast.makeText(ContestActivity.this, "Error:" + description, Toast.LENGTH_SHORT).show();            }        });        webView.loadUrl(url);    }


in oncreate method where you have set your Webview.

@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);this.requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.web_view);web_view = (WebView) findViewById(R.id.web_view);pd = new ProgressDialog(SiteOpenInWebView.this);    pd.setMessage("Please wait Loading...");    pd.show();    web_view.setWebViewClient(new MyWebViewClient());    web_view.loadUrl("ur site name"); }

WebViewClient

private class MyWebViewClient extends WebViewClient {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {    view.loadUrl(url);    if (!pd.isShowing()) {        pd.show();    }    return true;}@Overridepublic void onPageFinished(WebView view, String url) {    System.out.println("on finish");    if (pd.isShowing()) {        pd.dismiss();    }  }}