千家信息网

常见对话框AlertDialog如何理解

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天就跟大家聊聊有关常见对话框AlertDialog如何理解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在Android应用中,有多种对话框
千家信息网最后更新 2026年11月03日常见对话框AlertDialog如何理解

今天就跟大家聊聊有关常见对话框AlertDialog如何理解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

在Android应用中,有多种对话框:Dialog、AlertDialog、ProgressDialog、时间、日期等对话框。

  (1)Dialog类,是一切对话框的基类,需要注意的是,Dialog类虽然可以在界面上显示,但是并非继承与习惯的View类,而是直接从java.lang.Object开始构造出来的,类似于Activity,Dialog也是有生命周期的,它的生命周期由Activity来维护。Activity负责生产,保存,回复它,在生命周期的每个阶段都有一些回调函数供系统方向调用。

  (2)AlertDialog是Dialog的一个直接子类,AlertDialog也是Android系统当中最常用的对话框之一。一个AlertDialog可以有两个Button或3个Button,可以对一个AlertDialog设置title和message.不能直接通过AlertDialog的构造函数来生成一个AlertDialog.一般生成AlertDialog的时候都是通过它的一个内部静态类AlertDialog.builder来构造的。

  (3)顾名思义,这个Dialog负责给用户显示进度的相关情况,它是AlertDialog的一个子类。

  本章我们着重讲解一下AlertDialog!

  AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。

  要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。

  使用AlertDialog.Builder创建对话框需要了解以下几个方法:

    setTitle :为对话框设置标题
    setIcon :为对话框设置图标
    setMessage:为对话框设置内容
    setView : 给对话框设置自定义样式
    setItems :设置对话框要显示的一个list,一般用于显示几个命令时
    setMultiChoiceItems :用来设置对话框显示一系列的复选框
    setNeutralButton :普通按钮

    setPositiveButton :给对话框添加"Yes"按钮"确定"
    setNegativeButton :对话框添加"No"按钮 "取消"
    create : 创建对话框
    show :显示对话框

一、简单对话框

  Dialog类虽然可以在界面上显示,但是并非继承与习惯的View类,而是直接从java.lang.Object开始构造出来的。

  1、打开"src/com.genwoxue.alertdialog_a/MainActivity.java"文件。

  然后输入以下代码:

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.os.Bundle;
import android.view.Menu;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog
//要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法
Builder adInfo = new AlertDialog.Builder(this);
adInfo.setTitle("简单对话框");//设置标题
adInfo.setMessage("这是一个美丽的传说,精美的石头会唱歌……");//设置内容
adInfo.create();
adInfo.show();//打开app就弹出这个对话框,点击对话框外面的对话框会消失不见
}




}

2、运行,显示界面:


二、带按钮的AlertDialog

  我们在执行删除、确认等操作时,常常在对话框中单击按钮,AlertDialog可以显示3个按钮。

  1、打开"src/com.genwoxue.alertdialog_bMainActivity.java"文件。

  然后输入以下代码:


import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("确定删除?");
dialog.setMessage("您确定删除该条信息吗?");
dialog.setIcon(R.drawable.ic_launcher);
//为"确定"按钮注册监听事件
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// 根据实际情况编写相应代码

}
});
//为"取消"按钮注册监听事件
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// 根据实际情况编写相应代码

}
});
dialog.setNeutralButton("查看详情", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// 根据实际情况编写相应代码

}
});
dialog.create();
dialog.show();
}


}

2、运行,显示界面:


三、带有单选按钮、类似ListView的AlertDialog对话框

  setSingleChoiceItems(CharSequence[] items, int checkedItem,final OnClickListener listener)方法来实现类似ListView的AlertDialog,第一个参数是要显示的数据的数组,第二个参数指定默认选中项,第三个参数设置监听处理事件。

  1、打开"src/com.genwoxue.alertdialog_c/MainActivity.java"文件。

  然后输入以下代码:

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.widget.Toast;


public class MainActivity extends Activity {
//声明选中项变量
private int selectedCityIndex = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//定义城市数组
final String[] arrayCity = new String[]{"杭州","纽约","威尼斯","北海道"};
//实例化AlertDialog对话框
Dialog alertDialog = new AlertDialog.Builder(this)
.setTitle("你最喜欢哪个地方")//设置标题
.setIcon(R.drawable.ic_launcher)//设置图标
//设置对话框显示一个单选List,指定默认选中项,同时设置监听事件处理
.setSingleChoiceItems(arrayCity, 0, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// 选中项的索引保存到选中项变量
selectedCityIndex = which;

}
})
//添加取消按钮并增加监听处理
.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO 自动生成的方法存根

}
})
//添加确定按钮并增加监听处理
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
//显示选中的值
Toast.makeText(getApplicationContext(), arrayCity[selectedCityIndex], Toast.LENGTH_SHORT).show();
}
}).create();
alertDialog.show();//.show()必须单独写,不能接着上面的

}
}

2、运行,显示界面:


四、带有复选框、类似ListView的AlertDialog对话框

  setMultiChoiceItems(CharSequence[] items, boolearn[] checkedItems,final OnMultiChoiceClickListener listener)方法来实现类似ListView的AlertDialog,第一个参数是要显示的数据的数组,第二个参数指定默认选中项,第在个参数设置监听处理事件。

  1、打开"src/com.genwoxue.alertdialog_d/MainActivity.java"文件。

  然后输入以下代码:

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.Toast;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//定义运动数组
final String[] arraySport = {"足球","篮球","网球","乒乓球"};
final boolean[] arraySportSelected = new boolean[]{false,false,false,false};
//实例化AlertDialog对话框
Dialog alertDialog = new AlertDialog.Builder(this)
.setTitle("你喜欢哪些运动")//设置标题
.setIcon(R.drawable.ic_launcher)//设置图标
//设置对话框显示一个复选List,指定默认选中项,同时设置监听事件处理
.setMultiChoiceItems(arraySport, arraySportSelected, new DialogInterface.OnMultiChoiceClickListener() {

@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// 选中项的布尔真假保存到选中项变量
arraySportSelected[which] = isChecked;

}
})
//添加确定按钮并增加监听处理
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
StringBuilder sb = new StringBuilder();
for(int i=0;iif(arraySportSelected[i]==true){
sb.append(arraySport[i]+"、");
}
}
Toast.makeText(getApplicationContext(), sb.toString(), Toast.LENGTH_LONG).show();
}
})
//添加取消按钮并增加监听处理
.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO 自动生成的方法存根

}
}).create();
alertDialog.show();
}
}

看完上述内容,你们对常见对话框AlertDialog如何理解有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

对话框 对话 按钮 监听 方法 处理 代码 事件 参数 内容 界面 情况 数组 文件 标题 生成 输入 变量 周期 图标 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 互联网 科技创新 互联网女皇 腾讯科技 互联网金融监管科技 老年人脱离互联网科技的作文 科技与互联网哪个更好 岳阳华臻互联网科技有限公司 荆州市昕露互联网络科技有限公司 新兴科技互联网创新大赛颁奖典礼 玉溪互联网科技怎么选 哈尔滨屹滨互联网科技有限公司 米聚互联网科技南京有限公司排面 济南有互联网科技公司吗 长沙互联网科技 电子商务与互联网科技的关系 互联网科技资金流入 富国互联网科技002692 东营紫格互联网科技 安徽九吞吴互联网科技有限公司 前海云享互联网科技 上海卓越科技互联网 互联网巨头反垄断金融科技 互联网最新的科技有限公司 万易互联网科技有限公司 青海省互联网新科技 电子科技大学互联网创业大赛 元气玛特互联网科技公司是外包吗 广州富喜互联网络科技 盐城市攀科互联网科技有限公司 恒生科技互联网指数十大成分股
0