转载自:https://blog.csdn.net/qq_35698774/article/details/79779238
setTitle :为对话框设置标题
setIcon :为对话框设置图标
setMessage:为对话框设置内容
setView : 给对话框设置自定义样式
setItems :设置对话框要显示的一个list,一般用于显示几个命令时
setMultiChoiceItems :用来设置对话框显示一系列的复选框
setSingleChoiceItems :用来设置对话框显示一系列的单选框
setNeutralButton :普通按钮
setPositiveButton :给对话框添加"Yes"按钮
setNegativeButton :对话框添加"No"按钮
create : 创建对话框
show :显示对话框
- 自定义View
//(此处也可选用setAdapter的方式)
//mData自己进行填充数据的内容初始化
List<String> mData = new ArrayList<>();
//主要代码一
AlertDialog.Builder dialog = new ALertDialog.Builder();
//这部分与配置recyclerView 的Adapter类似
View dialogView = View.inflate(this,R.layout.dialog_layout,null);
CustomAdapter viewAdapter = new CustomAdapter(this,mData);
dialogView.setAdapter(viewAdapter);
viewAdapter.setOnItemClickListener(this);
//主要代码二
AlertDialog showDialog = dialog.setView(dialogView).create();
/**
*此处注意:
*①每次在显示dialog的时候,都需要进行创建,不然,会报You must call removeView() on the child's parent first.的错。
*/
- setAdapter的用法
AlertDialog alertDialog6 = new AlertDialog.Builder(this)
.setTitle("title")
.setIcon(R.mipmap.ic_launcher)
.setAdapter(new ArrayAdapter<String>(AlertDialogActivity.this, R.layout.item, R.id.tv, items6), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(AlertDialogActivity.this, "点的是:" + items6[i], Toast.LENGTH_SHORT).show();
}
})
.create();
alertDialog6.show();
- 设置简单内容、单选、多选列表
final String[] items4 = new String[]{"a ", "b ", "c ", "d "};//创建item
AlertDialog alertDialog4 = new AlertDialog.Builder(this)
.setTitle("选择")
.setIcon(R.mipmap.ic_launcher)
//只设置内容
.setMessage("content")
//设置多选列表
.setMultiChoiceItems(items5, booleans, new DialogInterface.OnMultiChoiceClickListener() {//创建多选框
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) {
booleans[i] = b;
}
})
//单列表设置
.setItems(items3, new DialogInterface.OnClickListener() {//添加列表
//单选列表设置
.setSingleChoiceItems(items4, 0, new DialogInterface.OnClickListener() {//添加单选框
@Override
public void onClick(DialogInterface dialogInterface, int i) {
index = i;
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {//添加"Yes"按钮
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(AlertDialogActivity.this, "这是确定按钮" + "点的是:" + items4[index], Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {//添加取消
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(AlertDialogActivity.this, "这是取消按钮", Toast.LENGTH_SHORT).show();
}
})
.create();
alertDialog4.show();