Tengo una AsyncTask en el que muestro una ProgressDialog en el OnPreExecute espalda, y se esconden de nuevo en onPostExecute, algo así comoCancelar AsyncTask cuando el usuario presiona el botón
final class UploadTask extends AsyncTask {
ProgressDialog dialog = new ProgressDialog(...);
protected onPreExecute() {
dialog.show();
}
protected onPostExecute() {
dialog.hide();
}
};
El diálogo es revocable y de hecho desaparece cuando presione el botón cancelar durante la ejecución de AsyncTask.
Cuando esto sucede, me gustaría ejecutar algún código para cancelar el AsyncTask también (en este momento, hasta pensaban que ProgressDialog desaparece, la AsyncTask sigue funcionando y, finalmente, completa). He intentado derivar mi propia clase de ProgressDialog y luego hacer
setOnDismissListener(new OnDismissListener() {
@Override public void onDismiss(DialogInterface d) {
/* do something */
}
};
(o algo similar con un OnCancelListener), pero esto simplemente no es llamado.
¿Alguna idea? Solo necesito un mecanismo para que el usuario cancele una AsyncTask en ejecución mientras se muestra ProgressDialog.
un ejemplo para la cancelación de una AsyncTask http : //www.quicktips.in/correct-way-to-cancel-an-asynctask-in-android/ –