How to show progress dialog in Android?
I want to show ProgressDialog
when I click on Login button and it takes time to move to another page. How can I do this?
ProgressDialog pd = new ProgressDialog(yourActivity.this);
pd.setMessage("loading");
pd.show();
And that's all you need.
You better try with AsyncTask
Sample code -
private class YourAsyncTask extends AsyncTask<Void, Void, Void> {
private ProgressDialog dialog;
public YourAsyncTask(MyMainActivity activity) {
dialog = new ProgressDialog(activity);
}
@Override
protected void onPreExecute() {
dialog.setMessage("Doing something, please wait.");
dialog.show();
}
@Override
protected Void doInBackground(Void... args) {
// do background work here
return null;
}
@Override
protected void onPostExecute(Void result) {
// do UI work here
if (dialog.isShowing()) {
dialog.dismiss();
}
}
}
Use the above code in your Login Button Activity. And, do the stuff in doInBackground
and onPostExecute
Update:
ProgressDialog
is integrated with AsyncTask
as you said your task takes time for processing.
Update:
ProgressDialog
class was deprecated as of API 26
To use ProgressDialog
use the below code
ProgressDialog progressdialog = new ProgressDialog(getApplicationContext());
progressdialog.setMessage("Please Wait....");
To start the ProgressDialog
use
progressdialog.show();
progressdialog.setCancelable(false);
is used so that ProgressDialog
cannot be cancelled until the work is done.
To stop the ProgressDialog
use this code (when your work is finished):
progressdialog.dismiss();`