无法在Android中添加窗口

时间:2011-08-16 17:34:26

标签: java android

在我的开发控制台中,我收到以下错误:

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@405126b8 is not valid; is your activity running?

这是以下行:alertDialog = new AlertDialog.Builder(Main.this).create();

这是我的代码:

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.splashscreen);

        alertDialog = new AlertDialog.Builder(Main.this).create();

        LoadData();
}

我不是没错。

3 个答案:

答案 0 :(得分:1)

您正尝试在此处使用错误的上下文,尝试使用正确的上下文。见这个,

Bad token Exception

答案 1 :(得分:0)

我不知道某项活动是否已被视为onCreate中的“正在运行”。你在onResume()中尝试过相同的代码吗?

更好的是,覆盖onCreateDialog()和更高版本的showDialog()。 (见http://developer.android.com/guide/topics/ui/dialogs.html)。

最后,在创建之前,您似乎没有在Builder上设置任何属性 - 没有标题,没有消息 - 可能需要其中一个?

答案 2 :(得分:0)

我看到我的一些应用程序偶尔会报告此错误,这就是为我解决的问题:

if(!((Activity) context).isFinishing())
{
    //show dialog
}

所有其他答案似乎都在做一些奇怪的事情,比如遍历正在运行的活动列表,但这样做更简单,似乎可以解决问题。