Pouvez-vous déclencher un événement lorsque la boîte de dialogue Android est rejetée?
Dire que j'ai créé une boîte de dialogue dans mon application Android comme ceci:
private static ProgressDialog dialog;
dialog = ProgressDialog.show(MainActivity.this, "", "Downloading Files. Please wait...", true);
Maintenant, est-il possible de déclencher un événement lorsque ce qui suit est appelé?
dialog.dismiss();
La raison pour laquelle je veux faire cela et pas seulement appeler ma méthode après dialog.dismiss();
est parce que le dialogue dismiss est appelé dans une classe statique et la prochaine chose que je veux faire est de charger une nouvelle activité (ce qui ne peut pas être fait en utilisant Intents dans une classe statique).
4 réponses
Utilisez un OnDismissListener .
Il est un setOnDismissListener(...)
méthode dans la classe Dialog
Bien sûr que vous pouvez-vérifier:
public void onDismiss(DialogInterface dialogInterface)
{
//Fire event
}
Chaque fois qu'une boîte de dialogue est fermée soit en cliquant sur PositiveButton, NegativeButton, NeturalButton ou en cliquant en dehors de la boîte de dialogue, "onDismiss" est toujours appelé automatiquement alors faites vos trucs dans la méthode onDismiss () par exemple,
@Override
public void onDismiss(DialogInterface dialogInterface) {
...
}
Vous n'avez même pas besoin d'appeler la méthode dismiss ().
Utilisez la méthode setOnDismissListener pour la boîte de dialogue.
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
if (mIsSettingsDirty)
refreshRecyclerView();
}
});