Saya mencoba untuk membuka jendela dialog, tetapi setiap kali saya mencoba membukanya, ia melempar pengecualian ini:
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)
Saya membuatnya dengan menelepon showDialogdengan id tampilan. The onCreateDialoghandler log baik dan saya dapat melangkah melalui itu tanpa masalah, tapi aku sudah melekat sejak sepertinya aku kehilangan sesuatu:
@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;
}
Apakah ada sesuatu yang hilang dari ini? Beberapa pertanyaan telah berbicara tentang masalah ini saat membuat dialog dari onCreate, yang terjadi karena aktivitas belum dibuat, tetapi ini berasal dari panggilan dari objek menu, dan appContextvariabel sepertinya diisi dengan benar di debugger.