AlertDialog失败......有时候

时间:2011-06-15 16:43:03

标签: android alertdialog listactivity

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

@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;
    }

(只有一种类型的对话框,所以这个功能太过分了,但它有效。)

当按下对话框中的按钮时,我的onClick(DialogInterface对话框,int which)函数被调用。它执行处理删除操作所需的操作,然后调用dismissDialog(CONFIRM_DELETE_DLG)。

最后,在我的Activity的onDestroy()中,我在try / catch块中调用removeDialog(CONFIRM_DELETE_DLG),这允许我忽略从未创​​建过对话框的情况。

问题:

通常我第一次调用对话框时,它可以正常工作。大约每隔一次我输入这个ListActivity并调用这个对话框,我在builder.create()调用上得到以下内容:

Attempted to add application window with unknown token

我在网上看到的唯一讨论与传递给AlertDialog.Builder()的上下文有关。我见过的每个所谓的工作示例都使用Activity的“this”成员作为参数,这就是我正在使用的。

0 个答案:

没有答案