Result:

Code:

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener
{
Button buttonSure, buttonRadio, buttonCheck, buttonList, buttonCustom; private String[] sexList =
{ "男", "女" };// 单选列表
private String[] likeList =
{ "篮球", "足球", "打游戏", "听音乐", "看电影" };// 多选列表
private String[] itemList =
{ "项目经理", "策划", "测试", "美工", "程序员" };// 列表 @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); buttonSure = (Button) findViewById(R.id.buttonSure);
buttonRadio = (Button) findViewById(R.id.buttonRadio);
buttonCheck = (Button) findViewById(R.id.buttonCheck);
buttonList = (Button) findViewById(R.id.buttonList);
buttonCustom = (Button) findViewById(R.id.buttonCustom); buttonSure.setOnClickListener(this);
buttonRadio.setOnClickListener(this);
buttonCheck.setOnClickListener(this);
buttonList.setOnClickListener(this);
buttonCustom.setOnClickListener(this);
} @Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.button: break;
case R.id.buttonSure:
sureDialog();
break;
case R.id.buttonRadio:
radioDialog();
break;
case R.id.buttonCheck:
checkDailog();
break;
case R.id.buttonList:
listDialog();
break;
case R.id.buttonCustom:
customDialog();
break;
default:
break;
}
} /**
* 确认对话框
*/
private void sureDialog()
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("确认对话框");// 设置标题
builder.setIcon(R.drawable.ic_launcher);// 设置图标
builder.setMessage("确认对话框内容");// 设置内容
/* 添加对话框中确定按钮和点击事件 */
builder.setPositiveButton("确定", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface arg0, int arg1)
{
Toast.makeText(MainActivity.this, "点击了确定按钮", Toast.LENGTH_SHORT).show();
}
});
/* 添加对话框中取消按钮和点击事件 */
builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface arg0, int arg1)
{
Toast.makeText(MainActivity.this, "你点击了取消按钮", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();// 获取dialog
dialog.show();// 显示对话框
} /**
* 单选确认对话框
*/
private void radioDialog()
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("性别");// 设置标题
builder.setIcon(R.drawable.ic_launcher);// 设置图标
/* 参数一位单选列表文字,参数二为默认第几个选中(-1默认不选中),参数三是创建监听器 */
builder.setSingleChoiceItems(sexList, -1, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
String sex = sexList[which];
Toast.makeText(MainActivity.this, "这个人性别为" + sex, Toast.LENGTH_SHORT).show();
}
}); /* 添加对话框中取消按钮和点击事件 */
builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();// 关闭对话框
}
});
AlertDialog dialog = builder.create();// 获取dialog
dialog.show();// 显示对话框
} /**
* 多选对话框
*/
private void checkDailog()
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("爱好");// 设置标题
builder.setIcon(R.drawable.ic_launcher);// 设置图标
/* 参数同单选对话框一样,另外第二个参数默认不选中为null,而不是-1 */
builder.setMultiChoiceItems(likeList, null, new DialogInterface.OnMultiChoiceClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked)
{
if (isChecked)
{
Toast.makeText(MainActivity.this, "我喜欢" + likeList[which], Toast.LENGTH_SHORT).show();
} else
{
Toast.makeText(MainActivity.this, "我不喜欢" + likeList[which], Toast.LENGTH_SHORT).show();
}
}
});
/* 添加对话框中取消按钮点击事件 */
builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();// 关闭对话框
}
});
AlertDialog dialog = builder.create();// 获取dialog
dialog.show();// 显示对话框
} /**
* 列表对话框
*/
private void listDialog()
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("部门列表");// 设置标题
builder.setIcon(R.drawable.ic_launcher);// 设置图标
builder.setItems(itemList, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
Toast.makeText(MainActivity.this, "我点击了" + itemList[which], Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();// 获取dialog
dialog.show();// 显示对话框
} /**
* 自定义对话框
*/
private void customDialog()
{
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.dialog, null);// 获取自定义布局
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("自定义对话框");// 设置标题
builder.setIcon(R.drawable.ic_launcher);// 设置图标
builder.setView(view);// 设置自定义样式布局到对话框
AlertDialog dialog = builder.create();// 获取dialog
dialog.show();// 显示对话框
} }

【Andriod-AlertDialog控件】 弹出对话框AlertDialog用法的更多相关文章

  1. 根据条件决定My97DatePicker日期控件弹出的日期格式

    代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...

  2. 【转】javascript入门系列演示·三种弹出对话框的用法实例

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  3. 【JSP】三种弹出对话框的用法实例

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  4. javascript入门系列演示·三种弹出对话框的用法实例

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  5. 安卓弹出对话框——Alertdialog

    在Android开发当中,在界面上弹出一个Dialog对话框使我们经常需要做的,本篇随笔将详细的讲解Dialog对话框这个概念,包括定义不同样式的对话框. 一.Dialog 我们首先来看看androi ...

  6. 安卓弹出对话框——Alertdialog(一)

    首先看各种样式的对话框: 我们看到,Dialog有很多的子类实现,所以我们要定义一个对话框,使用其子类来实例化一个即可,而不要直接使用Dialog这个父类来构造. 二.AlertDialog 今天我们 ...

  7. my97日期控件弹出位置显示异常

    使用my97日期选择控件的时候,如果整个页面是有滚动条的,根据触发显示日期的控件的父控件的position不同会显示不同的情况 1.position不为fixed则滑动滚动条,显示的日期层不会出现异常 ...

  8. JSP中三种弹出对话框的用法《转》

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  9. 安卓弹出对话框——AlertDialog(二)

    在Android中,启动一个对话框有三种方式: 1.定义一个新的activity,并将其主题设置为对话框风格 2.使用AlertDialog类,并且显示它 3.使用 Android的Dialog类的子 ...

随机推荐

  1. Web在线报表设计器使用指南

    市面上的报表工具有很多,虽说功能大同小异,但每一个报表工具都有各自明确的定位,选择最合适的工具,才能达到事半功倍的效果. 本文将要介绍的ActiveReports报表工具,可全面满足 .NET 报表开 ...

  2. Linux就该这么学——新手必须掌握的命令之系统状态检测命令组

    ifconfig命令 用途 : 获取网卡配置与网络状态等信息 格式 : ifconfig[网络设备][参数] 其实主要查看的就是网卡名称,inet参数后面的IP地址,ether参数后面的网卡物理地址( ...

  3. django 路由层 伪静态网页 虚拟环境 视图层

    路由层 无名分组 有名分组 反向解析 路由分发 名称空间 伪静态网页 虚拟环境 视图层 JsonResponse FBV与CBV 文件上传 项目urls.py下面 from app01 import ...

  4. Linux操作系统文档

    一 Linux操作系统概述 l为什么要学习Linux操作系统: 1.  大部分服务端都是使用Linux操作系统(Django,爬虫,科学运算等项目是部署到服务器中的) 2.  一些企业和学校(国外学校 ...

  5. Java中的float、double计算精度问题

    java中的float.double计算存在精度问题,这不仅仅在java会出现,在其他语言中也会存在,其原因是出在IEEE 754标准上. 而java对此提供了一个用于浮点型计算的类——BigDeci ...

  6. HUD 4507 吉哥系列故事——恨7不成妻

    传送门 三个限制都可以数位 $dp$ , $dfs$ 是维护当前位,之前各位总和模 $7$ 意义下的值,之前填的数模 $7$ 意义下的值,是否贴着限制 主要现在求的是各个合法数的平方的和,比较恶心 开 ...

  7. Java EE javax.servlet中的RequestDispatcher接口

    RequestDispatcher接口 public interface RequestDispatcher 一.介绍 定义一个对象,从客户端接收请求并将其发送到服务器上的任何资源(例如servlet ...

  8. 开发过程遇到的css样式问题记录

    一.移动端 1.部分安卓机圆角border-radius失效,显示为方形状?   background-clip: padding-box; 2.部分安卓机字体图标出现锯齿? 使用iconfont图标 ...

  9. Linux Too many open files

    Linux Too many open files 查看系统资源限制信息: sudo -s -u root -H id sudo -s lsof | awk '{ print $2 " &q ...

  10. centos安装配置mariadb

    CentOS7下使用yum安装MariaDB CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL.M ...