首页 > 解决方案 > 如何使用按钮参数创建警报对话框的方法?

问题描述

我想要这样的东西。我想重用我的警报对话框方法,但我不知道如何实现正面和负面按钮的参数:

private void alert(String title, String message, actionPositive, actionNegative){
    AlertDialog.Builder builder = new AlertDialog.Builder(QuestionProfile.this);
    builder.setCancelable(true);
    builder.setTitle(title);
    builder.setMessage(message);
    builder.setInverseBackgroundForced(true);
    builder.setPositiveButton("Yes",
            new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    //action
                }
            });
    builder.setNegativeButton("No",
            new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
    AlertDialog alert = builder.create();
    alert.show();
}

我想称之为这样的事情是可能的吗?

alert("Title","Message",action for positive button, action for negative button); 

标签: android

解决方案


它可以简单如下:

private void alert(String title, String message,DialogInterface.OnClickListener actionPositive, DialogInterface.OnClickListener actionNegative){
    AlertDialog.Builder builder = new AlertDialog.Builder(QuestionProfile.this);
    builder.setCancelable(true);
    builder.setTitle(title);
    builder.setMessage(message);
    builder.setInverseBackgroundForced(true);
    builder.setPositiveButton("Yes",actionPositive);
    builder.setNegativeButton("No",actionNegative);
    AlertDialog alert = builder.create();
    alert.show();
}

匿名类的示例用法是:

alert("Title","Message",new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    //action for positive
                }
            }, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    //action for negative
                }
            }); 

推荐阅读