J'ai obtenu une classe qui gère une création de boîte de dialogue et d'affichage dans mon application.Handlind dialogue Android dont le contexte est détruit
Il a obtenu une boîte de dialogue en tant que membre de la classe et une méthode qui a les lignes suivantes:
public static void setAlertDialog(String title, final Context con, boolean dialogCancelable)
{
if(myDialog == null)
{
myDialog = new Dialog(con);
...
}
Le contexte peut être détruit après un certain temps (par une action de l'application qui signifie son pas rare) , puis je reçois une exception de
Impossible d'ajouter la fenêtre - token [email protected] n'est pas valide; Votre activité est-elle en cours?
Depuis la boîte de dialogue reste la même instance, une solution qui suggère de faire ce qui suit ne fonctionnera pas:
if(!((Activity)con).isFinishing())
{
myDialog.show();
}
Je l'ai fixé pour l'instant avec la simple création d'une nouvelle instance de la boîte de dialogue chaque fois que je l'utilise .
La question est de savoir si mon correctif est correct ou s'il existe de meilleures façons de gérer cette situation?