相关疑难解决方法(0)

Android 1.6:"android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌null不适用于应用程序"

我正在尝试打开一个对话框窗口,但每次我尝试打开它都会抛出此异常:

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)
Run Code Online (Sandbox Code Playgroud)

我是通过showDialog显示器的id 调用来创建的.该onCreateDialog处理器记录良好,我可以通过它没有问题的一步,但因为它看起来像我想的东西我已经把它贴吧:

@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;      
}
Run Code Online (Sandbox Code Playgroud)

这有什么不足之处吗?有些问题在创建对话框时已经讨论过这个问题onCreate …

android runtimeexception android-dialog android-windowmanager

301
推荐指数
8
解决办法
19万
查看次数