1. package com.zhangbz.dialog;
  2.  
  3. import android.app.Activity;
  4. import android.app.AlertDialog;
  5. import android.app.AlertDialog.Builder;
  6. import android.app.ProgressDialog;
  7. import android.content.DialogInterface;
  8. import android.content.DialogInterface.OnClickListener;
  9. import android.content.DialogInterface.OnMultiChoiceClickListener;
  10. import android.os.Bundle;
  11. import android.view.View;
  12. import android.widget.Toast;
  13.  
  14. public class MainActivity extends Activity {
  15.  
  16. @Override
  17. protected void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.activity_main);
  20. }
  21.  
  22. public void click1(View view) {
  23. //对话框的创建器
  24. AlertDialog.Builder builder = new Builder(this);
  25. builder.setTitle("我是对话框");
  26. builder.setMessage("对话框显示的内容");
  27. builder.setPositiveButton("确定", new OnClickListener() {
  28.  
  29. @Override
  30. public void onClick(DialogInterface arg0, int arg1) {
  31. Toast.makeText(getApplicationContext(), "确定被点击了", 0).show();
  32. }
  33. });
  34. builder.setNegativeButton("取消", new OnClickListener() {
  35.  
  36. @Override
  37. public void onClick(DialogInterface arg0, int arg1) {
  38. //什么都不写,默认实现就是关闭掉对话框
  39. }
  40. });
  41. builder.setCancelable(false); //设置不能被取消
  42. //builder.create().show();
  43. builder.show();
  44. }
  45. /**
  46. * 单选对话框
  47. * @param view
  48. */
  49. public void click2(View view) {
  50. //对话框创建器
  51. Builder builder = new Builder(this);
  52. builder.setTitle("请选择您的性别");
  53. final String[] items = {"男","女"};
  54. builder.setSingleChoiceItems(items, 1, new OnClickListener() {
  55.  
  56. @Override
  57. public void onClick(DialogInterface dialog, int which) {
  58. Toast.makeText(getApplicationContext(), "您的性别是:" + items[which], 0).show();
  59. dialog.dismiss();
  60. }
  61. });
  62. builder.show();
  63. }
  64. /**
  65. * 多选对话框
  66. * @param view
  67. */
  68. public void click3(View view) {
  69. //对话框创建器
  70. Builder builder = new Builder(this);
  71. builder.setTitle("请选择您最爱吃的水果");
  72. final String[] items = {"苹果","梨","菠萝","香蕉"};
  73. final boolean[] result = new boolean[]{true,false,true,false};
  74. builder.setMultiChoiceItems(items, result, new OnMultiChoiceClickListener() {
  75.  
  76. @Override
  77. public void onClick(DialogInterface dialog, int which, boolean ischecked) {
  78. Toast.makeText(getApplicationContext(), items[which] + ischecked, 0).show();
  79. result[which] = ischecked;
  80. }
  81. });
  82. builder.setPositiveButton("提交", new OnClickListener() {
  83.  
  84. @Override
  85. public void onClick(DialogInterface arg0, int arg1) {
  86. StringBuffer sb = new StringBuffer();
  87. for (int i = 0; i < result.length; i++) {
  88. if(result[i]) {
  89. sb.append(items[i] + ",");
  90. }
  91. }
  92. Toast.makeText(getApplicationContext(), "你选中了" + sb.toString(), 0).show();
  93. }
  94. });
  95. builder.show();
  96. }
  97. //进度条对话框
  98. public void click4(View view) {
  99. ProgressDialog pd = new ProgressDialog(this);
  100. pd.setTitle("提醒");
  101. pd.setMessage("正在加载数据...请稍等。");
  102. pd.show();
  103. }
  104. //带进度条的对话框
  105. public void click5(View view) {
  106. final ProgressDialog pd = new ProgressDialog(this);
  107. pd.setTitle("提醒");
  108. pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
  109. pd.setMax(100);
  110. pd.setMessage("正在加载数据...请稍等");
  111. pd.show();
  112. new Thread() {
  113. public void run() {
  114. for (int i = 0; i < 100; i++) {
  115. try {
  116. Thread.sleep(40);
  117. } catch (InterruptedException e) {
  118. // TODO Auto-generated catch block
  119. e.printStackTrace();
  120. }
  121. pd.setProgress(i);
  122. }
  123. pd.dismiss();
  124. };
  125. }.start();
  126. }
  127. }

android学习笔记 对话框合集的更多相关文章

  1. 大量Javascript/JQuery学习教程电子书合集

    [推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人   不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pd ...

  2. 老李分享:android app自动化测试工具合集

    老李分享:android app自动化测试工具合集   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...

  3. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  4. 【转】 Pro Android学习笔记(五七):Preferences(1):ListPreference

    目录(?)[-] 例子1ListPreference小例子 定义一个preferences XML文件 继承PreferenceActivity 用户定制偏好的读取 第一次运行时设置缺省值 设置Cat ...

  5. 【转】 Pro Android学习笔记(五六):配置变化

    目录(?)[-] Activity的destorycreate过程 Fragment的destorycreate过程 onSaveInstanceState saveFragmentInstanceS ...

  6. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

  7. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  8. android学习笔记36——使用原始XML文件

    XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...

  9. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

随机推荐

  1. 【分享】Matlab R2015a 发布啦!

    本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html Matlab和C#混合编程文章目录:http://www.cnblogs.com ...

  2. LoRaWAN协议(一)--架构解析

    LoRaWAN 分层 总体架构一共分为4部分: LoRaWAN从底层到最后用户拿到数据的通讯过程通讯大致可分为三段: MOTE <---> GW (MAC层) GW <---> ...

  3. Tools - 常用搜索引擎命令

    site 用来查询网站收录量. 比如site:http://www.cnblogs.com/ inurl 查URL中包含的元素,比如inurl:bbs ,搜索出URL包含bbs的页面. 常用的inur ...

  4. Android学习笔记(第一篇)编写第一个程序Hello World+Activity

    PS:终于开始正式的搞Android了...无人带的一介菜鸟,我还是自己默默的努力吧... 学习内容: 1.编写第一个Hello World程序..   学习Android,那么就需要有一个编译器来集 ...

  5. HT全矢量化的图形组件设计

    HT一直被客户称道的就是其全矢量化的设计特色,矢量相比传统图片好处太多了: 矢量可无级缩放,界面不失真不模糊 描述矢量的文本内容远比图片小得多 目前各种window.devicePixelRatio不 ...

  6. C#字符串的恒定性

    string str1="aa"; string str2="aa"; str1,str2,变量所指向的堆空间的地址是一样的.栈空间的内容是不一样的. //ne ...

  7. 组合数学 - 母函数的运用 + 模板 --- hdu : 2082

    找单词 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  8. 若干道Swift面试题

    1,说说你认识的Swift是什么?Swift是苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于MAC OS和iOS平台,用于搭建基于苹果平台的应用程序. ...

  9. Titanium开发环境搭建第三个坑

    Nodejs版本的问题 首先,如下引用:http://docs.appcelerator.com/titanium/latest/#!/guide/Installing_Node To run all ...

  10. 模块在insmod之后无法rmmod问题

    1,首先保证make menuconfig选项配置: [*] Enable loadable module support  ---> [*]   Module unloading 2,在lib ...