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. 小记--------spark的两种提交模式

    spark的两种提交模式:yarn-cluster . yarn-client 图解

  2. Centos删除多余的Linux内核

    删除开机多余kernel(centos) yum update 命令会大范围升级,有时候linux内核也会升级,升级后开机画面就会出现多个内核供你选择,所有强迫症的我需要删除旧的 ⒈查看正在使用的内核 ...

  3. drf序列化及反序列化

    假如把drf看做一个汉堡包,我们之前讲的模块属于汉堡包前面的盖盖(请求模块.渲染模块)和底底(异常模块.解析模块.响应模块),但是真正中间的夹心没有讲,那么今天我就和大家来看一下汉堡包的夹心(序列化及 ...

  4. 输出单项链表中倒数第k个结点——牛客刷题

    题目描述: 输入一个单向链表,输出该链表中倒数第k个结点 输入.输出描述: 输入说明:1.链表结点个数 2.链表结点的值3.输入k的值 输出说明:第k个结点指针 题目分析: 假设链表长度为n,倒数第k ...

  5. Codeforces 1239C. Queue in the Train

    传送门 事实上就是模拟 搞一个优先队列维护一下事件结构体:时间,人的编号,入队还是出队 再维护两个 $set$ ,队列内的人 $inQueue$ ,想要进入队列内的人 $want$ 然后模拟模拟模拟! ...

  6. nop4.1用2008r2的数据库

    修改appsetting.json

  7. API接口利用ActionFilterAttribute实现接口耗时检测

    1.主要代码 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; ...

  8. Where is __dso_handle defined?

    Where is __dso_handle defined? 来源  https://stackoverflow.com/questions/34308720/where-is-dso-handle- ...

  9. A Pythonic Card Deck: __len__ & __getitem__ & for 循环的嵌套

    1. 列表生成式的嵌套 for 循环: 示例如下: li1 = range(1,6) li2 = list("ABC") # list("ABC") 的结果为 ...

  10. 服务端相关知识学习(五)之Zookeeper leader选举

    在上一篇文章中我们大致浏览了zookeeper的启动过程,并且提到在Zookeeper的启动过程中leader选举是非常重要而且最复杂的一个环节.那么什么是leader选举呢?zookeeper为什么 ...