Android 警报对话框失败。。。有时

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

我有一个ListActivity,其中包含一些包含文本和按钮的项目。当按下按钮时,我可能需要显示一个AlertDialog,询问用户是否确定要执行该操作。下面是活动的onCreate对话框:

@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作为参数,这就是我使用的参数。

我认为我们应该为难倒专家而获得分数:-