I have an AsyncTask that shows a progressDialog whilst working (it calls runOnUiThread from within doInBackground to show the progress dialog).
<Well, I had the same issue. The simplest method that worked for me is using progressDialog.setCancelable(true)
.. This declares whether the dialog is cancelable by hitting the back key.. Try it and let me know if it works for you or not. Good luck
Its very simple just copy the below code and paste within Async task..
ProgressDialog dialog;
@Override
protected void onPreExecute() {
dialog = new ProgressDialog(MainActivity.this) {
@Override
public void onBackPressed() {
dialog.cancel();
dialog.dismiss();
}
};
// dialog.setTitle("file is..");//its optional If u want set title in progress
// bar
dialog.setMessage("Loading file....");
dialog.setCancelable(false);
dialog.show();
}
Please follow this, it shows the cancel button only async and finish will call by clicking on cancel button
protected void onPreExecute() {
dialogx.setMessage("Loading... Please Wait...");
dialogx.setCancelable(false);
dialogx.setButton(DialogInterface.BUTTON_NEGATIVE,
"Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialogx.dismiss();
GetDataTask.this.cancel(true);
finish();
}
});
dialogx.show();
}