Android——四种AterDialog
本经验将分别介绍Android里面的四种AlertDialog分别是:显示带中立,取消,确定的提示框、 获取带列表的对话框按钮、获取带单选列表的对话框按、获取显示带多选项的对话框。此经验介绍获取显示带多选项的对话框
Android studio或者Eclipse
首先我们在界面布局上面布局四个按钮
然后我们在代码中关联这四个按钮
Button button3=(Button)findViewById(R.id.button3);
Button button4=(Button)findViewById(R.id.button4);
Button button5=(Button)findViewById(R.id.button5);
Button button6=(Button)findViewById(R.id.button6);
然后分别加入触发事件:
//获取带列表的对话框按钮
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String[] iterms=new String[]{"run","badminton","football","pingpang","gymnastics","tennis","more..."};
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
//builder.setIcon(R.drawable.desert);
builder.setTitle("Choose your favable sport project:");
builder.setItems(iterms,new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),"You choosed "+iterms[which],Toast.LENGTH_LONG).show();
}
});
builder.create().show();//创建对话框并显示
}
}); //获取带单选列表的对话框按钮
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String[] iterms=new String[]{"standard","silent","meeting","outdoor","offline"};
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
//builder.setIcon(R.drawable.desert);
builder.setTitle("Choose your favable contextual model:");
builder.setSingleChoiceItems(iterms, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "You choosed " + iterms[which], Toast.LENGTH_LONG).show();
}
});
builder.create().show();//创建对话框并显示
}
}); //获取显示带多选项的对话框
button6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) { checkedItems=new boolean[]{false,true,false,true,false};
items=new String[]{"Plants vs Zombies","Angry Birds","popodino","Happy Farm","Super Mario"};
//显示带单选列表的对话框
AlertDialog.Builder builder=new AlertDialog.Builder(getApplicationContext());
//builder.setIcon(R.drawable.desert);
builder.setTitle("Choose your favorable Game:");
builder.setMultiChoiceItems(items,checkedItems,new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
checkedItems[which]=isChecked;
}
});
//为对话框添加"确定按钮"
builder.setPositiveButton("confirm",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String result="";
for(int i=0;i<checkedItems.length;i++){
if(checkedItems[i]==true){
result+=items[i]+",";
}
}
if(result.equals("")==false){
result=result.substring(0,result.length()-1);
Toast.makeText(MainActivity.this,"You choosed "+result,Toast.LENGTH_LONG).show();
}
}
});
builder.create().show();
}
});
运行结果如下
更多详细的介绍大家可以到这里面看看,图文并茂更清楚:
http://jingyan.baidu.com/article/0320e2c1ccc8031b87507b23.html
Android——四种AterDialog的更多相关文章
- Android四种点击事件和五中存储方式
Android点击事件的四种实现方式 1.内部类实现onClickListenter接口 bt_login.setOnClickListener(new MyListener()); class My ...
- android 四种堆状态
总结下: ====> 建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型 http://www.cnblogs.com/ghj1976/a ...
- Android四种Activity的加载模式(转)
建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型: http://www.cnblogs.com/ghj1976/archive/2011/0 ...
- Android 四种常见的线程池
引入线程池的好处 1)提升性能.创建和消耗对象费时费CPU资源 2)防止内存过度消耗.控制活动线程的数量,防止并发线程过多. 我们来看一下线程池的简单的构造 public ThreadPoolExec ...
- android:四种基本布局
一个丰富的界面总是要由很多个控件组成的,那我们如何才能让各个控件都有条不紊地 摆放在界面上,而不是乱糟糟的呢?这就需要借助布局来实现了.布局是一种可用于放置很 多控件的容器,它可以按照一定的规律调整内 ...
- Android四种Activity的加载模式
建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型 http://www.cnblogs.com/ghj1976/archive/2011/04 ...
- Android四种启动模式
四种启动模式 standard(默认) singleTop singleTast singleInstance standard(默认) 系统默认的启动模式. Android是使用返回栈来管理活动的, ...
- Android 四种加载方式详解(standard singleTop singleTask singleInstance) .
Android之四种加载方式 (http://marshal.easymorse.com/archives/2950 图片) 在多Activity开发中,有可能是自己应用之间的Activity跳转,或 ...
- Android学习之基础知识六—Android四种布局详解
一.Android基本布局 布局是一种可以放置多个控件的容器,它可以按照一定规律调整内部控件的位置,而且布局内部除了可以放置控件外,还可以放置布局,实现多层布局嵌套.布局和控件.布局和布局之间的关系如 ...
随机推荐
- 使用Mono Cecil 动态获取运行时数据 (Atribute形式 进行注入 用于写Log) [此文报考 xxx is declared in another module and needs to be imported的解决方法]-摘自网络
目录 一:普通写法 二:注入定义 三:Weave函数 四:参数构造 五:业务编写 六:注入调用 7. 怎么调用别的程序集的方法示例 8. [is declared in another module ...
- 在KVM虚拟机中使用spice系列之二(USB映射,SSL,密码,多客户端支持)
在KVM虚拟机中使用spice系列之二(USB映射,SSL,密码,多客户端支持) 发布时间: 2015-02-27 00:16 1.spice的USB重定向 1.1 介绍 使用usb重定向,在clie ...
- 转载 asp.net的Request.ServerVariables参数说明
转载原地址: http://blog.csdn.net/vincent_void/article/details/7739338 当讨论Request对象内容时,要研究的集合之一就是ServerVar ...
- 转载StringBuilder说明
动态串StringBuilder 利用System.Text.StringBuilder类实现动态字符串,动态的含义是指在修改字符串时,系统不需要创建新的对象,不会重复开辟新的内存空间,而是直接在原来 ...
- .net MVC全局定时器执行作业
首先的一个需求是在OA系统中定时跑一些定时作业,例如发放年假等事务,之前的做法是在服务器上加入一个服务,用系统定时作业去跑服务,这样有个问题就是当系统在发布的过程中,有可能忘记启动服务而导致无法定时执 ...
- Appium Android定位元素与操作
文章写得很好,转载备用 一.常用识别元素的工具 uiautomator:Android SDK自带的一个工具,在tools目录下 monitor:Android SDK自带的一个工具,在tools目录 ...
- 分布式模式之broker模式
转自:http://blog.chinaunix.net/uid-23093301-id-90459.html 问题来源: 创建一个游戏系统,其将运行在互联网的环境中.客户端通过WWW服务或特定的客户 ...
- .Net基础学习
http://www.cnblogs.com/iPragmatic/p/4930396.html memcache的介绍与应用场景 http://www.cnblogs.com/nixi8/p/493 ...
- hadoop的hdfs文件操作实现上传文件到hdfs
这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...
- 3DES一些说明
3DES:是在DES的基础上采用三重DES,即用两个56位的密钥K1,K2,发送方用K1加密,K2解密,再使用K1加密.接收方使用K1解密,K2加密,再使用K1解密, 3DES实现: 主要有CBC,E ...