AlertDialog简介
AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有的界面纸上的,能够屏蔽掉其他空间的交互能力,因此一般AlertDialog都是用于提示一些非常重要的内容或者警告信息。比如为了防止用户误删重要的内容,在删除前弹出一个确认对话框。
1.最简单的dialog
AlertDialog.Builderbuilder=new AlertDialog.Builder(MainActivity.this);
builder.setIcon(放图标).settitle(设置标题).setMessage(设置提示内容).setNegativebutton(设置点击事件).setNeutralButton(设置点击事件).setPositiveButton(设置点击事件);
AlertDialog alertDialog=builder.creat();
alertDialog.show();
//最简单的dialog
private void showdialog1() {
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.mipmap.ic_launcher).setTitle("我是一个Dialog").setMessage("我是Dialog的内容").setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplication(), "点击的是NegativeButton", Toast.LENGTH_SHORT).show();
}
}
).setNeutralButton("NeutralButton", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplication(),"点击的是NeutralButton",Toast.LENGTH_SHORT).show();
}
}).setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplication(),"点击的是PositiveButton",Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
2.选择某条信息
setItems
//弹出多条数据
private void selectdialog() {
AlertDialog.Builder builder2=new AlertDialog.Builder(MainActivity.this);
builder2.setTitle("选择的Dialog");
builder2.setItems(mData, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplication(), "选中了第" + which + "条数据", Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog1=builder2.create();
alertDialog1.show();
return;
}
3.单选框的dialog
setSingleChoiceItems
//单选dialog
private void singleSelect() {
AlertDialog.Builder builder3=new AlertDialog.Builder(MainActivity.this);
builder3.setSingleChoiceItems(mSex, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
sex = mSex[which];
Toast.makeText(getApplicationContext(), "你选择的性别是" + mSex[which], Toast.LENGTH_SHORT).show();
}
});
builder3.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder3.setNeutralButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mBtnDialog3.setText("您的性别是" + sex);
}
});
AlertDialog alertDialog2=builder3.create();
alertDialog2.show();
}
4.多选框dialog
setMultiChoiceItems
//多选dialog
private void mulselect() {
AlertDialog.Builder builder4=new AlertDialog.Builder(MainActivity.this);
builder4.setMultiChoiceItems(mHobby, mIsChecked, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
mIsChecked[which] = isChecked;
}
});
builder4.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder4.setNeutralButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
hobby = new StringBuffer();
for (int i = 0; i < mIsChecked.length; i++) {
if (mIsChecked[i]) {
hobby.append(mHobby[i]);
}
}
mBtnDialog4.setText("您的爱好是" + hobby);
}
});
Dialog dialog=builder4.create();
dialog.show();
}