Reputation: 31
Unable to dismiss the progress dialog after WebView loaded
Here is the code
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onLoadResource (WebView view, String url) {
if (progressDialog == null) {
progressDialog = new ProgressDialog(activity);
progressDialog.setMessage("Chargement en cours");
progressDialog.show();
}
}
public void onPageFinished(WebView view, String url) {
if (progressDialog.isShowing()) {
progressDialog.dismiss();
progressDialog = null;
}
}
});
webview.loadUrl("http://www.someexample.com");
Upvotes: 0
Views: 554
Reputation: 1803
Try this it will work
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview = (WebView) findViewById(R.id.activity_main_webview);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webview.loadUrl("https://someexample.com");
webview.setWebViewClient(new WebViewClient() {
public void onLoadResource (WebView view, String url) {
if (progressDialog == null) {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setMessage("Chargement en cours");
progressDialog.show();
}
}
public void onPageFinished(WebView view, String url) {
progressDialog.dismiss();
//hide loading image
// findViewById(R.id.progressBar1).setVisibility(View.GONE);
//show webview
findViewById(R.id.activity_main_webview).setVisibility(View.VISIBLE);
}
});
}
}
Upvotes: 0
Reputation: 1296
You can do something like this as below :
public void onPageFinished(WebView view, String url) {
progressDialog.dismiss();
}
Upvotes: 0
Reputation: 1422
Create progress dialogue like
ProgressDialog progressDialog= ProgressDialog.show(this, "", "Loading...",true);
onPageFinished
be like
public void onPageFinished(WebView view, String url) {
if (progressDialog != null)
if (progressDialog.isShowing())
progressDialog.dismiss();
}
Upvotes: 0
Reputation: 735
try overriding all functions
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onLoadResource (WebView view, String url) {
if (progressDialog == null) {
progressDialog = new ProgressDialog(activity);
progressDialog.setMessage("Chargement en cours");
progressDialog.show();
}
}
@Override
public void onPageFinished(WebView view, String url) {
if (progressDialog.isShowing()) {
progressDialog.dismiss();
progressDialog = null;
}
}
});
webview.loadUrl("http://www.someexample.com");
Upvotes: 1