java alertdialog_Android 对话框组件 AlertDialog 四种常用方法

本文详细介绍了Android中AlertDialog的使用,包括创建带确定/取消按钮的对话框、列表对话框、单选列表对话框和多选列表对话框,并提供了具体的Java代码示例。
摘要由CSDN通过智能技术生成

本文原创首发CSDN,链接https://blog.csdn.net/qq_41464123/article/details/106618845,作者博客https://blog.csdn.net/qq_41464123,转载请带上本段文字,尤其是脚本之家、码神岛等平台,谢谢配合。

目录

一、什么是AlertDialog对话框 ?

在Android中,AlertDialog可以为当前的界面上显示一个对话框,而且产生的对话框是在所有界面元素上面的,能够覆盖掉其余组件,所以AlertDialog一般是用于提示一些非常重要的信息或者警告内容。

二、如何使用?

AlertDialog的功能十分强大,它不仅可以生成带按钮的提示对话框,还可以生成带列表的列表对话框。

对话框区域通常被分为四个区域,分别是图标区、标题区、内容区、按钮区域。

1.显示带确定、取消按钮的对话框

效果图:

643e547f2cb7ede2337743fba155b35f.png

单击按钮后:

16c7da0d46413725fb384d94c01f96f8.png

对话框隐藏,提示单击信息。

1f4c27e8a89a3513ed70002b6d5e1c64.png

实现方法,在XML文件中新建一个按钮,在Java文件中添加单击事件响应

button1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();

alertDialog.setIcon(R.mipmap.advise);

alertDialog.setTitle("标题");

alertDialog.setMessage("具体文本");

alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "否", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, "您单击了否按钮", Toast.LENGTH_SHORT).show();

}

});

alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "是", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, "您单击了是按钮 ", Toast.LENGTH_SHORT).show();

}

});

alertDialog.show();

}

});

2. 显示带列表的对话框

效果展示:

6be785192306313ea4816306b105d49f.png

单击按钮后:

34d293cb513449d3e29c145ea5126408.png

对话框隐藏,提示单击信息。

cea44e8c0e4631df9855f87b221162b8.png

button2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

final String[] items = new String[]{"选项1", "选项2", "选项3","选项4"};

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

builder.setIcon(R.mipmap.advise1);

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();

}

});

3. 显示带单选列表项的对话框

效果展示:

bba7e76c440ea8f429c7c374ecf457e1.png

单击后:

eac7857f3db6afd897202404ac5afda4.png

Java逻辑代码部分:

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.mipmap.advise2);

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_SHORT).show();

}

});

builder.setPositiveButton("确定", null);

builder.create().show();

}

});

本文原创首发CSDN,链接https://blog.csdn.net/qq_41464123/article/details/106618845,作者博客https://blog.csdn.net/qq_41464123,转载请带上本段文字,尤其是脚本之家、码神岛等平台,谢谢配合。

4. 显示带多选列表项的对话框

效果展示:

cdb6f91aa89826a4d79b20dd2382ded3.png

单击后:

1816311c34255d77b2a50deb73391e13.png

点击确定后,显示:

1ae897d9283b9456e9dc935a5cd13e7b.png

Java逻辑代码:

button4.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

checkedItems = new boolean[]{false, true, false, true, false};

//各列表项要显示的内容

items = new String[]{"开心消消乐", "球球大作战", "欢乐斗地主", "梦幻西游", "超级玛丽"};

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

builder.setIcon(R.mipmap.advise2);

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] + "、";

}

}

if (!"".equals(result)) {

result = result.substring(0, result.length() - 1);

Toast.makeText(MainActivity.this,

"您选择了[ " + result + " ]", Toast.LENGTH_LONG).show();

}

}

});

builder.create().show();

}

});

三、总结

在Android中,如果需要使用 对话框组件,来实现一定的功能,就需要用到 AlertDialog 。

本文主要总结了 AlertDialog 的四种常用方法,以便后续不时之需。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值