Estoy tratando de abrir una ventana de diálogo, pero cada vez que intento abrirla arroja esta excepción:
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)
Lo estoy creando llamando showDialogcon la identificación de la pantalla. El onCreateDialogcontrolador se registra bien y puedo recorrerlo sin problemas, pero lo adjunto ya que parece que me falta algo:
@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;
}
¿Hay algo que falta en esto? Algunas preguntas han hablado acerca de tener este problema al crear un cuadro de diálogo onCreate, lo que ocurre porque la actividad aún no se ha creado, pero esto proviene de una llamada de un objeto de menú y appContextparece que la variable se rellena correctamente en el depurador.