J'essaie d'ouvrir une fenêtre de dialogue, mais à chaque fois que j'essaie de l'ouvrir, une exception se produit :
Uncaught handler: thread main exiting due to uncaught exception
android.view.WindowManager$BadTokenException:
Unable to add window -- token null is not for an application
at android.view.ViewRoot.setView(ViewRoot.java:460)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.app.Dialog.show(Dialog.java:238)
at android.app.Activity.showDialog(Activity.java:2413)
Je le crée en appelant showDialog
avec l'identifiant de l'écran. Le site onCreateDialog
se connecte bien et je peux le parcourir sans problème, mais je l'ai joint car il semble que je manque quelque chose :
@Override
public Dialog onCreateDialog(int id)
{
Dialog dialog;
Context appContext = this.getApplicationContext();
switch(id)
{
case RENAME_DIALOG_ID:
Log.i("Edit", "Creating rename dialog...");
dialog = new Dialog(appContext);
dialog.setContentView(R.layout.rename);
dialog.setTitle("Rename " + noteName);
break;
default:
dialog = null;
break;
}
return dialog;
}
Y a-t-il quelque chose qui manque ? Certaines questions ont fait état de ce problème lors de la création d'un dialogue à partir de onCreate
ce qui se produit parce que l'activité n'est pas encore créée, mais cela provient d'un appel à partir d'un objet de menu, et la fonction appContext
semble être correctement renseignée dans le débogueur.