突然(此项目代码中没有任何更改),我开始出现错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{<package>}: java.lang.IllegalArgumentException: Button does not exist

该错误指向尚未调用的方法。
private void dialog(String title, String content){
    AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
    alertDialog.setTitle(title);
    alertDialog.setMessage(content);
    alertDialog.setCancelable(true);
    alertDialog.setButton(1, "OK", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int which) {
               dialog.dismiss();
               }
            });
    alertDialog.show();
}

我试图在其他项目中复制和使用该代码-相同的结果,并且不久前就开始工作(相同的目标API等)。知道我忽略了什么吗?

最佳答案

不要在 1 中对setButton(...)进行硬编码。使用在 DialogInterface 类中找到的常量来指定哪个按钮:

DialogInterface.BUTTON_NEGATIVE

DialogInterface.BUTTON_POSITIVE

DialogInterface.BUTTON_NEUTRAL

关于android - AlertDialog按钮不存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20725199/

10-12 05:14