【Andriod-AlertDialog控件】 弹出对话框AlertDialog用法
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用法的更多相关文章
- 根据条件决定My97DatePicker日期控件弹出的日期格式
代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- 【转】javascript入门系列演示·三种弹出对话框的用法实例
对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...
- 【JSP】三种弹出对话框的用法实例
对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...
- javascript入门系列演示·三种弹出对话框的用法实例
对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...
- 安卓弹出对话框——Alertdialog
在Android开发当中,在界面上弹出一个Dialog对话框使我们经常需要做的,本篇随笔将详细的讲解Dialog对话框这个概念,包括定义不同样式的对话框. 一.Dialog 我们首先来看看androi ...
- 安卓弹出对话框——Alertdialog(一)
首先看各种样式的对话框: 我们看到,Dialog有很多的子类实现,所以我们要定义一个对话框,使用其子类来实例化一个即可,而不要直接使用Dialog这个父类来构造. 二.AlertDialog 今天我们 ...
- my97日期控件弹出位置显示异常
使用my97日期选择控件的时候,如果整个页面是有滚动条的,根据触发显示日期的控件的父控件的position不同会显示不同的情况 1.position不为fixed则滑动滚动条,显示的日期层不会出现异常 ...
- JSP中三种弹出对话框的用法《转》
对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...
- 安卓弹出对话框——AlertDialog(二)
在Android中,启动一个对话框有三种方式: 1.定义一个新的activity,并将其主题设置为对话框风格 2.使用AlertDialog类,并且显示它 3.使用 Android的Dialog类的子 ...
随机推荐
- hdu 6601 区间条件极值 - 区间 最大 三角形周长
题目传送门//res tp hdu 目的 对长度为n的区间,给定q个子区间,求其元素能构成三角形的最大周长.有多组测试. n 1e5 q 1e5 ai [1,1e9] (i∈[1,n]); 数据结构 ...
- stalstack
Saltstack 是干什么的 saltstack 是一个开源异构平台基础设置管理工具 Saltstack 能干什么 如果是一个管理成千上百服务器的管理员,你会遇到场景 需要在每台服务器上面部署age ...
- django进阶版2
目录 批量插入数据 自定义分页器 创建多表关系的3种方法 全自动 全手动 半自动 form组件 如何渲染页面 第一种方式 第二种方式 第三种方式 如何显示错误信息 forms组件钩子函数 局部钩子 全 ...
- Codeforces 1238C. Standard Free2play
传送门 题目别看错了,好像挺多人都读错了... 然后显然可以贪心,只有在需要用 $\text{magic crystals}$ 的时候才用 那么直接模拟即可 如果初始相邻两个突出的平台高度不连续那么我 ...
- 算法:二叉树的层次遍历(递归实现+非递归实现,lua)
二叉树知识参考:深入学习二叉树(一) 二叉树基础 递归实现层次遍历算法参考:[面经]用递归方法对二叉树进行层次遍历 && 二叉树深度 上面第一篇基础写得不错,不了解二叉树的值得一看. ...
- 带坑使用微信小程序框架WePY组件化开发项目,附带第三方插件使用坑
纯粹用来记录wepy及相关联内容,以防再犯~ 1. 接手的wepy项目版本是 1.7.2 ,so我没有初始化的过程.... 2. 安装wepy命令工具,npm install wepy-cli -g ...
- Arduino Nano与SIM800C 通信
首先感谢 原文作者:https://blog.csdn.net/weixin_44481398/article/details/86596933#commentBox 找了好久没有找到,使用他的代码一 ...
- JavaScript函数尾调用与尾递归
什么是函数尾调用和尾递归 函数尾调用与尾递归的应用 一.什么是函数的尾调用和尾递归 函数尾调用就是指函数的最后一步是调用另一个函数. //函数尾调用示例一 function foo(x){ retur ...
- OSCP-Kioptrix2014-3 后渗透测试
拿到root权限 之前的努力,最终获得了两个session 尝试看看该操作系统的漏洞 kali: searchsploit freebsd 9.0 cp /usr/share/exploitdb/ex ...
- C++ 内联函数 摘自 C++ 应用程序性能优化
内联函数 在C++语言的设计中,内联函数的引入可以说完全是为了性能的考虑.因此在编写对性能要求比较高的C++程序时,非常有必要仔细考量内联函数的使用. 所谓"内联",即将被调用函数 ...