本经验将分别介绍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的更多相关文章

  1. Android四种点击事件和五中存储方式

    Android点击事件的四种实现方式 1.内部类实现onClickListenter接口 bt_login.setOnClickListener(new MyListener()); class My ...

  2. android 四种堆状态

    总结下: ====> 建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型 http://www.cnblogs.com/ghj1976/a ...

  3. Android四种Activity的加载模式(转)

    建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型: http://www.cnblogs.com/ghj1976/archive/2011/0 ...

  4. Android 四种常见的线程池

    引入线程池的好处 1)提升性能.创建和消耗对象费时费CPU资源 2)防止内存过度消耗.控制活动线程的数量,防止并发线程过多. 我们来看一下线程池的简单的构造 public ThreadPoolExec ...

  5. android:四种基本布局

    一个丰富的界面总是要由很多个控件组成的,那我们如何才能让各个控件都有条不紊地 摆放在界面上,而不是乱糟糟的呢?这就需要借助布局来实现了.布局是一种可用于放置很 多控件的容器,它可以按照一定的规律调整内 ...

  6. Android四种Activity的加载模式

    建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型 http://www.cnblogs.com/ghj1976/archive/2011/04 ...

  7. Android四种启动模式

    四种启动模式 standard(默认) singleTop singleTast singleInstance standard(默认) 系统默认的启动模式. Android是使用返回栈来管理活动的, ...

  8. Android 四种加载方式详解(standard singleTop singleTask singleInstance) .

    Android之四种加载方式 (http://marshal.easymorse.com/archives/2950 图片) 在多Activity开发中,有可能是自己应用之间的Activity跳转,或 ...

  9. Android学习之基础知识六—Android四种布局详解

    一.Android基本布局 布局是一种可以放置多个控件的容器,它可以按照一定规律调整内部控件的位置,而且布局内部除了可以放置控件外,还可以放置布局,实现多层布局嵌套.布局和控件.布局和布局之间的关系如 ...

随机推荐

  1. Hadoop MapReduce概念学习系列之JobTracker、ResourceManager、Task Tracker、NodeManager(二十一)

    Tracker是跟踪者,跟踪器.JobTracker是项目经理.在hadoop2*的0.23版本之后,改叫RM了.ResourceManager.TaskTracker是小组长.它手下,还有具体搬砖的 ...

  2. Java网络编程(TCP客户端)

    TCP传输:两个端点建立连接后会有一个传输数据的通道,这个通道就称为流,而且是建立在网络基础上的流,之为socket流,该流中既可以读取也可以写入. TCP的两个端点:一个客户端:ServerSock ...

  3. 远程测试mysql数据库3306端口报错

    错误现象:[root@localhost ~]# telnet 192.168.10.130 3306Trying 192.168.10.130...Connected to 192.168.10.1 ...

  4. 转载 https协议和http协议的区别

    转载原地址: http://aajs800.blog.51cto.com/519255/109555 什么是HTTPS: HTTPS(Secure Hypertext Transfer Protoco ...

  5. [一]JQueryMobile简介

    JQueryMobile 基于JQuery,实现对不同尺寸手机屏幕的支持,提供了许多组件,以及对于手机端的常用事件(touch.tap.taphold) 如何使用 1.引入jquery.js.jque ...

  6. ASP.Net 使用SqlBulkCopy批量插入

    批量插入,以前我的做法是生成一堆insert into的sql语句,然后用程序一次值行,来实现. 今天看到了ASP.Net里可以使用DataTable,先将数据写入到DataTable中,然后使用Sq ...

  7. Java中的二维数组

    Java 中的二维数组 所谓二维数组,可以简单的理解为是一种"特殊"的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空 ...

  8. Struts2中的session、request、respsonse获取方法

    个人对于struts有一种复杂的心情,平心而论,struts2是个人最早接触到的的框架,在学校的时候就已经开始学习了,大四毕业设计,无疑用的还是struct,那时候SSH还是很流行的,后来出来实习,直 ...

  9. Winform 注册机通用软件注册功能之建立有效的软件保护机制

    本文转载:http://www.cnblogs.com/umplatform/archive/2013/01/23/2873001.html 众所周知,一些共享软件往往提供给使用者的是一个功能不受限制 ...

  10. Flex Metadata tags 元数据标签

    1.[Alternative] [可替换] 标明此类可以被参数中的类替换,版本号说明发生替换的版本. [Alternative]和[Deprecated] 不同.如果是[不建议使用]的类,以后的版本可 ...