先看一下AlertDialog的构造函数
protected AlertDialog(Context context) {
this(context, resolveDialogTheme(context, 0), true);
}
protected AlertDialog(Context context, int theme) {
this(context, theme, true);
}
protected AlertDialog(Context context, boolean cancelable, OnCancelListener cancelListener) {
super(context, resolveDialogTheme(context, 0));
mWindow.alwaysReadCloseOnTouchAttr();
setCancelable(cancelable);
setOnCancelListener(cancelListener);
mAlert = new AlertController(context, this, getWindow());
}
AlertDialog的构造方法全部都是Protected的,所以不能直接new一个AlertDialog来创建一个AlertDialog。要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。
setTitle :为对话框设置标题
setIcon :为对话框设置图标
setMessage:为对话框设置内容
setView : 给对话框设置自定义样式
setItems :设置对话框要显示的一个list,一般用于显示几个命令时
setMultiChoiceItems :用来设置对话框显示一系列的复选框
setNeutralButton :普通按钮
setPositiveButton :给对话框添加"Yes"按钮
setNegativeButton :对话框添加"No"按钮
create : 创建对话框
show :显示对话框
demo:
public class AlertdialogActivity extends Activity {
/** Called when the activity is first created. */
private TextView myTV ;
private Button myBtn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myTV=(TextView)findViewById(R.id.TextView01);
myBtn=(Button)findViewById(R.id.Button01);
myBtn.setText("删除");
final AlertDialog.Builder builder=new AlertDialog.Builder(this);
myBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
builder.setMessage("真的要删除该记录吗?")
.setPositiveButton("是", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
myTV.setText("删除成功!");
}
}).setNegativeButton("否", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
myTV.setText("取消删除");
}
});
AlertDialog ad=builder.create();
ad.show();
}
});
}
}
附上demo下载地址,仅适合初学者:点击打开链接