Alertdialog,如何让两个按钮显示出来

时间:2012-10-10 02:14:07

标签: android dialog android-alertdialog

为什么编译器在下面的代码中显示setPositiveButton和setNegativeButton的错误。如果我使用setButton没有错误,但只允许我在警告对话框中显示一个按钮。我想要2个按钮。根据许多教程,必须使用setPositiveButton和setNegativeButton设置双按钮警报对话框。为什么会为这些编译错误?

    public void onClick(View v) {

        AlertDialog alert = new AlertDialog.Builder(MainActivity.this).create();
        alert.setTitle("Confirm Edit");
        alert.setMessage("do you want to save edits?");

        alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
            // launches other activity if the user presses the OK button
                Intent myIntent = new Intent(MainActivity.this, TestScreen.class);
             MainActivity.this.startActivity(myIntent);

           Toast.makeText(MainActivity.this, "Edits saved", Toast.LENGTH_SHORT).show();

            }
        });

        alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "Edits Canceled", Toast.LENGTH_SHORT).show();
                dialog.cancel();
            }
        });
        alert.show();


    }
});

1 个答案:

答案 0 :(得分:0)

您的代码是正确的,只需要稍微更改一下。使用Builder类创建AlertDialog。

Builder builder = new AlertDialog.Builder ( MainActivity.this ); 
builder.setTitle ( "Confirm Edit" ); 
builder.setMessage("do you want to save edits?");

builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
            // launches other activity if the user presses the OK button
                Intent myIntent = new Intent(MainActivity.this, TestScreen.class);
             MainActivity.this.startActivity(myIntent);

           Toast.makeText(MainActivity.this, "Edits saved", Toast.LENGTH_SHORT).show();

            }
        });

        builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "Edits Canceled", Toast.LENGTH_SHORT).show();
                dialog.cancel();
            }
        });


// Now finally showing Alert Dialog.
AlertDialog alert = builder.create(); 
alert.show();