Gli AlertDialog sono dei componenti molto utili per inviare dei messaggi all'utente, anche perchè obbligano l'utente a vedere che c'è un avviso.
Solo che ad essere sincero li trovo più comlicati rispetto ai "cugini" di iOS.
Comunque vediamo di creare una classe che possa rappresentare un AlertDialog generico e che possa essere richiamato ovunque, anche in azioni asincrone.
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
public class GenericDialog {
public static void createDialog(String message, Context context) {
final AlertDialog alert = new AlertDialog.Builder(context).create();
alert.setTitle("ERROR");
alert.setMessage(message);
alert.setButton(-3, "OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
alert.cancel();
}
});
alert.show();
}
}
C'è un solo metodo statico che richiede due parametri: il messaggio e il contesto in cui deve essere richiamato.
Questo secondo parametro è essenziale se si vuole richiamarlo in contesti asincroni.