Dialog 对话框的使用
- 1 信息确定取消对话框
在layout文件中添加Button按钮
private void showDialog() {
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.mipmap.ic_launcher).setTitle("我是标题").setMessage("我是内容").setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "选择的是Negative", Toast.LENGTH_SHORT).show();
}
}).setNeutralButton("下次再说", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),"选择的是Netural",Toast.LENGTH_SHORT).show();
}
}).setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),"选择的是Positive",Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog=builder.create();
dialog.show();
}
- 2 列表信息对话框
定义一个存放数据的数组
private String[]mData={“第0条数据”,”第一条数据”,”第二条数据”};
调用 setItems();
private void showSelectDialog() {
AlertDialog.Builder builder1=new AlertDialog.Builder(MainActivity.this);
builder1.setTitle("请选择数据");
builder1.setItems(mData, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "选中了第" + which + "个", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog1=builder1.create();
dialog1.show();
}
- 3 单选对话框
定义性别数组private String[]mSex={“男”,”女”,”其他”};
调用setSingleChoiceItems();
private void showRadioDialog() {
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.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();
}
});
builder.setNeutralButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "你确定的性别是" + sex, Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
private void showDialog() {
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.mipmap.ic_launcher).setTitle("我是标题").setMessage("我是内容").setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "选择的是Negative", Toast.LENGTH_SHORT).show();
}
}).setNeutralButton("下次再说", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),"选择的是Netural",Toast.LENGTH_SHORT).show();
}
}).setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),"选择的是Positive",Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog=builder.create();
dialog.show();
}
- 4 多选对话框
调用setOnMultChoiceItems();
private void showCheckBoxDialog() {
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setMultiChoiceItems(mHobbys, mHobbyChecked, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
mHobbyChecked[which]=isChecked;
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
hobby=new StringBuffer();
for (int i=0;i<mHobbyChecked.length;i++){
if (mHobbyChecked[i]){
hobby.append(mHobbys[i]);
}
}
Toast.makeText(getApplicationContext(), "你选择的爱好有" + hobby, Toast.LENGTH_SHORT).show();
}
});
builder.show();
}