Android学习笔记使用AlertDialog实现对话框 使用AlertDialog可以实现如下对话框 案例 总结
案例
布局问文件就加了几个Button,我直接上Java代码了
- 实现显示带取消,确定按钮的对话框按钮
Button showDialogOne = findViewById(R.id.showDialog_one);
showDialogOne.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
AlertDialog alertDialog = new
AlertDialog.Builder(MainActivity.this).create();
//创建AlertDialog对象
alertDialog.setIcon(R.drawable.apple);//设置图标
alertDialog.setTitle("一个战5渣:");//设置标题
alertDialog.setTitle("苟活性命于互联网,我太难了,是吧?");
alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE,
"否", new Dialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(
MainActivity.this, "您单击了否按钮",
Toast.LENGTH_SHORT).show();
}
});//取消按钮
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE,
"是", new Dialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(
MainActivity.this, "您单击了是按钮",
Toast.LENGTH_SHORT).show();
}
});//取消按钮
alertDialog.show();
}
});
效果:
- 显示带列表的对话框按钮
MainActivity.java
/**********显示带列表的对话框按钮***************/
Button button2 = findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
//带4个列表项的列表对话框
final String[] items = new String[]{"当你有了钱,它会让你更专注",
"abcdefg",
"为什么我还没有钱",
"求钱若渴",
"求财若饥"};//列表数组
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//创建AlertDialog.Builder对象
builder.setIcon(R.drawable.apple);
builder.setTitle("请选择你喜欢的一句话:");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,
"你选择了【"+items[which]+"】",Toast.LENGTH_SHORT).show();
}
});
builder.create().show();//创建并显示对话框
}
});
效果:
- 显示带单选列表的对话框
/***显示带单选列表的对话框***/
Button button3 = (Button)findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String[] items = new String[]{"乔布斯","马云","扎克伯格","陆奇"};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.apple);
builder.setTitle("如果让你选择,你最想做哪一个:");
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,"您选择了【"+items[which]+"】",
Toast.LENGTH_LONG).show();
}
});
builder.setPositiveButton("确定",null);
builder.create().show();//创建并显示对话框
}
});
- 显示带多选列表项的对话框按钮
Button button4 = findViewById(R.id.button4);
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final boolean[] checkedItems = new boolean[]{false,false,true};//记录各列表项的状态
final String[] items = new String[]{"开心消消乐","球球大作战","王者荣耀"};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择您喜爱的游戏:");//设置标题
builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
checkedItems[which] = isChecked;//改变被操作列表的状态
}
});//添加列表项
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String result = "";//记录结果的字符串
for(int i=0;i<checkedItems.length;i++){
if(checkedItems[i]){
result += items[i]+"、";//把选择项的内容添加到result中
}
}
if(!"".equals(result)){
Toast.makeText(MainActivity.this,
"您选择了["+result+"]",Toast.LENGTH_SHORT).show();
}
}
});
builder.create().show();
}
});
}