Home
> Tricks & Tips > Load WebView with ProgressDialog
Load WebView with ProgressDialog
It’s very useful to determine the status while loading a web page. Here a sample to show ProgressDialog to track when WebVIew done with loading URL.
public class MainActivity extends Activity {
WebView mWeb;
ProgressDialog mProgress;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// no need to use title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
// set webview as main content only
mWeb = new WebView(this);
setContentView(mWeb);
// set Javascript
WebSettings settings = mWeb.getSettings();
settings.setJavaScriptEnabled(true);
// the init state of progress dialog
mProgress = ProgressDialog.show(this, "Loading", "Please wait for a moment...");
// add a WebViewClient for WebView, which actually handles loading data from web
mWeb.setWebViewClient(new WebViewClient() {
// load url
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
// when finish loading page
public void onPageFinished(WebView view, String url) {
if(mProgress.isShowing()) {
mProgress.dismiss();
}
}
});
// set url for webview to load
mWeb.loadUrl("http://www.cnn.com");
}
}
Hope it helps!
Cheers,
Pete Houston
Categories: Tricks & Tips
finish, load, progressdialog, url, web, webview
Thanks!That was a really good way to load a web view!!!!
This is great, but what about when a user clicks on a link inside webview. How do you show a ProgressDialog every time someone clicks on a link inside the web view? This only shows on the first load. I’m pulling my hair out trying to figure this out!
have you found the solution yet ??
Thanks mate!