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基本布局 布局是一种可以放置多个控件的容器,它可以按照一定规律调整内部控件的位置,而且布局内部除了可以放置控件外,还可以放置布局,实现多层布局嵌套.布局和控件.布局和布局之间的关系如 ...
随机推荐
- HDU-1007 Quoit Design 平面最近点对
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1007 简单裸题,测测模板,G++速度快了不少,应该是编译的时候对比C++优化了不少.. //STATU ...
- HDU1890 Robotic Sort Splay tree反转,删除
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1890 题目中涉及数的反转和删除操作,需要用Splay tree来实现.首先对数列排序,得到每个数在数列 ...
- Java注解处理器使用详解
在这篇文章中,我将阐述怎样写一个注解处理器(Annotation Processor).在这篇教程中,首先,我将向您解释什么是注解器,你可以利用这个强大的工具做什么以及不能做什么:然后,我将一步一步实 ...
- 电脑突然死机,系统日志记录事件ID=6008
刚才正在写代码,在一次保存之后,正要刷新看下效果,电脑突然关机,没有任何提示或延迟.我的笔记本电池是一直插上的,也连接着电源. 重新开机之后,找到系统日志查看.只有这一条错误记录:非正常关机,事件60 ...
- 问题-关于 in []使用过程中报错" Constant expression violates subrange bounds"
问题现象:在DELPHI中使用户in [] 时参数大于255后,报错,错误如下:Constant expression violates subrange bounds E1012常量表达式超出子界 ...
- DTD Tutorial
The purpose of a DTD (Document Type Definition) is to define the legal building blocks of an XML doc ...
- iOS7滑动返回
[转载请注明出处] iOS 7中在传统的左上角返回键之外,提供了右滑返回上一级界面的手势.支持此手势的是UINavigationController中新增的属性 interactivePopGestu ...
- C#抽象工厂模式的几种实现方法及比较
C#抽象工厂模式的几种实现方法及比较 本文转自:http://hi.baidu.com/tufeivista/blog/item/2ca9702978dcc6fb99250a81.html 利用设计模 ...
- 提高你的Java代码质量吧:少用静态导入
一.分析 从Java 5开始引入静态导入语法(import static),其目的是为了减少字符输入量,提高代码的可阅读性,以便更好地理解程序. 但是,滥用静态导入会使程序更难阅读,更难维护.静态导 ...
- webViewDidFinishLoad因为网页里的重定向,会调用多次,使用web view.isLoading来解决
我编码如下,但我发现 webViewDidFinishLoad() 会发生若干次. 如何知道 webViewDidFinishLoad() 最后发生吗? iNavigate = ; - (void)w ...