在我的开发控制台中,我收到以下错误:
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();
}
我不是没错。
答案 0 :(得分:1)
您正尝试在此处使用错误的上下文,尝试使用正确的上下文。见这个,
答案 1 :(得分:0)
我不知道某项活动是否已被视为onCreate中的“正在运行”。你在onResume()中尝试过相同的代码吗?
更好的是,覆盖onCreateDialog()和更高版本的showDialog()。 (见http://developer.android.com/guide/topics/ui/dialogs.html)。
最后,在创建之前,您似乎没有在Builder上设置任何属性 - 没有标题,没有消息 - 可能需要其中一个?
答案 2 :(得分:0)
我看到我的一些应用程序偶尔会报告此错误,这就是为我解决的问题:
if(!((Activity) context).isFinishing())
{
//show dialog
}
所有其他答案似乎都在做一些奇怪的事情,比如遍历正在运行的活动列表,但这样做更简单,似乎可以解决问题。