Comment fermer un dialogue dans Android par programme, par exemple avec un bouton?
Imaginez que j'ai un dialogue avec un bouton OK, et que je veux le fermer avec le bouton OK, mais je ne peux pas le faire!
J'ai cherché sur Google et rien trouvé d'utile, et presque tous pour fermer AlertDialog pas un dialogue.
Vous pouvez appeler dismiss
dans la boîte de dialogue.
Voici un exemple de la création d’un AlertDialog avec 2 boutons (OK et annuler) . Lorsque vous cliquez sur le bouton d’annulation,
dialog.dismiss ()
est appelé pour fermer la boîte de dialogue.
De n'importe où à l'extérieur, vous pouvez appeler
constructeur.dismiss ();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Some message.")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// do something
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
builder.show();
dialog.dismiss();
Seule cette ligne le fermera. :-)
Implémentez-le dans le onClickListener.
Vous pouvez utiliser les méthodes cancel()
ou dismiss()
. La méthode cancel()
est essentiellement la même chose que d’appeler licencier (), mais elle appellera également votre DialogInterface.OnCancelListener
(s’il est enregistré).
Si votre boîte de dialogue est une activité distincte, le moyen le plus simple de la fermer consiste à appeler:
finish();
Appelez cette méthode dans la classe OnClickListener, méthode OnClick ().
Cela appellera les méthodes onPause (), onStop () et onDestroy () en conséquence et arrêtera l'activité en cours - comme le bouton "Retour".