Android 警报对话框失败。。。有时
我有一个ListActivity,其中包含一些包含文本和按钮的项目。当按下按钮时,我可能需要显示一个AlertDialog,询问用户是否确定要执行该操作。下面是活动的onCreate对话框:Android 警报对话框失败。。。有时,android,android-alertdialog,listactivity,Android,Android Alertdialog,Listactivity,我有一个ListActivity,其中包含一些包含文本和按钮的项目。当按下按钮时,我可能需要显示一个AlertDialog,询问用户是否确定要执行该操作。下面是活动的onCreate对话框: @Override protected Dialog onCreateDialog(int id) { switch (id) { case CONFIRM_DELETE_DLG: { AlertDialog.B
@Override
protected Dialog onCreateDialog(int id)
{
switch (id)
{
case CONFIRM_DELETE_DLG:
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(getString(R.string.remove_confirmation))
.setCancelable(false)
.setPositiveButton(R.string.caption_yes, this)
.setNegativeButton(R.string.caption_no, this);
return builder.create();
}
default:
break;
}
return null;
}
只有一种类型的对话框,所以这个函数是多余的,但它可以工作
当按下对话框中的按钮时,我的onClickDialogInterface对话框,int调用哪个函数。它执行处理删除操作所需的操作,然后调用dismissDialogCONFIRM\u delete\u DLG
最后,在活动的onDestroy中,我在try/catch块中调用removeDialogCONFIRM\u DELETE\u DLG,这样我就可以忽略从未创建对话框的情况
问题:
通常在我第一次调用该对话框时,它就工作了。大约每隔一次,当我输入此ListActivity并调用此对话框时,我就会在builder.create调用中获得以下信息:
Attempted to add application window with unknown token
我在网上看到的唯一讨论与传递给AlertDialog.Builder的上下文有关。我看到的每个假定有效的示例都使用活动的this member作为参数,这就是我使用的参数。我认为我们应该为难倒专家而获得分数:-