AlertDialog是一个对话框,用于显示警告、确认、输入等信息给用户,而AlertDialog.Builder是AlertDialog的建造者,用于创建和配置AlertDialog。
区别:
创建方式:AlertDialog直接通过构造函数创建,而AlertDialog.Builder通过Builder模式创建。
灵活性:AlertDialog.Builder可以使用链式调用方法来设置对话框的各种属性,包括标题、消息、图标、按钮等;而AlertDialog只能通过构造函数一次性设置这些属性。
可扩展性:AlertDialog.Builder可以方便地添加自定义的视图、按钮监听器等,以满足特定需求;而AlertDialog的扩展性较差。
下面是一个示例代码,演示如何使用AlertDialog.Builder创建一个简单的对话框:
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("提示");
builder.setMessage("确定要删除吗?");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 点击确定按钮时的操作
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 点击取消按钮时的操作
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
在这个例子中,我们先创建一个AlertDialog.Builder对象,然后使用该对象设置对话框的标题和消息,并分别设置了确定和取消按钮的点击监听器。最后调用builder.create()方法创建AlertDialog对象,并调用show()方法显示对话框。