package com.zhangbz.dialog;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} public void click1(View view) {
//对话框的创建器
AlertDialog.Builder builder = new Builder(this);
builder.setTitle("我是对话框");
builder.setMessage("对话框显示的内容");
builder.setPositiveButton("确定", new OnClickListener() { @Override
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(getApplicationContext(), "确定被点击了", 0).show();
}
});
builder.setNegativeButton("取消", new OnClickListener() { @Override
public void onClick(DialogInterface arg0, int arg1) {
//什么都不写,默认实现就是关闭掉对话框
}
});
builder.setCancelable(false); //设置不能被取消
//builder.create().show();
builder.show();
}
/**
* 单选对话框
* @param view
*/
public void click2(View view) {
//对话框创建器
Builder builder = new Builder(this);
builder.setTitle("请选择您的性别");
final String[] items = {"男","女"};
builder.setSingleChoiceItems(items, 1, new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "您的性别是:" + items[which], 0).show();
dialog.dismiss();
}
});
builder.show();
}
/**
* 多选对话框
* @param view
*/
public void click3(View view) {
//对话框创建器
Builder builder = new Builder(this);
builder.setTitle("请选择您最爱吃的水果");
final String[] items = {"苹果","梨","菠萝","香蕉"};
final boolean[] result = new boolean[]{true,false,true,false};
builder.setMultiChoiceItems(items, result, new OnMultiChoiceClickListener() { @Override
public void onClick(DialogInterface dialog, int which, boolean ischecked) {
Toast.makeText(getApplicationContext(), items[which] + ischecked, 0).show();
result[which] = ischecked;
}
});
builder.setPositiveButton("提交", new OnClickListener() { @Override
public void onClick(DialogInterface arg0, int arg1) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < result.length; i++) {
if(result[i]) {
sb.append(items[i] + ",");
}
}
Toast.makeText(getApplicationContext(), "你选中了" + sb.toString(), 0).show();
}
});
builder.show();
}
//进度条对话框
public void click4(View view) {
ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("提醒");
pd.setMessage("正在加载数据...请稍等。");
pd.show();
}
//带进度条的对话框
public void click5(View view) {
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("提醒");
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMax(100);
pd.setMessage("正在加载数据...请稍等");
pd.show();
new Thread() {
public void run() {
for (int i = 0; i < 100; i++) {
try {
Thread.sleep(40);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
pd.setProgress(i);
}
pd.dismiss();
};
}.start();
}
}

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. 使用Html5+C#+微信 开发移动端游戏详细教程 :(二)准备工作&开发环境

    C#开发环境:VS2013; H5开发环境:WebStorm; 数据库:mysql+navicat管理工具: 操作系统:win7: 调试:chrome浏览器 如果想在微信端上线运营游戏请做好以下准备工 ...

  2. json,serialize,msgpack比较

    速度 在redis中存入同样的压缩数据,取操作执行两个操作: 1 从redis中取 2 解压 3 统一json压缩后放出   ab测试: [yejianfeng@openstack ~/httpd/u ...

  3. [JS] JavaScript框架(1) jQuery

    jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用).events.实现动画效果,并且方便地为网站提供AJAX交互.jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应 ...

  4. List<?>和List<T>的区别?

    出自:https://www.zhihu.com/question/31429113

  5. iis7.5错误 配置错误

    iis7.5详细错误   HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 详细错误信息模块 IIS Web Core 通知 ...

  6. javascript运算符的优先级

    最基木的运算符优先级就是所谓的“先乘除,后加减”.对于优先顺序处于同一层次上的运算符,按照从左到右出现的顺序计算.下面给出javascript定义的所有运算符的优先级.运算符 优先顺序成员选择.括号. ...

  7. CSS行高line-height的理解

    一.行高的字面意思 “行高“顾名思义指一行文子的高度.具体来说是指两行文子间基线间的距离. 基线是在英文字母中用到的一个概念,我们刚学英语的时候使用到的那个英语本子每行有4条线,其中底部第二条线就是基 ...

  8. ASP.Net中无刷新执行Session身份验证

    在写一个客户的B/S结构应用程序时,突然发现一个技巧,不知道是否是MS的一个BUG,给相关的有研究的朋友原先考虑写一个检查Session的类,Session失效后,必须转向登陆页面,可每一个调用该类的 ...

  9. 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出

    [源码下载] 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 预处理命令 输入 ...

  10. Studio for WPF:使用 C1TileView 创建图片库

    C1TileView 提供了数据交互浏览的功能.允许我们设置最大化和最小化浏览模板,我们可以通过最小化模板快速定位详细浏览选项. 下面我们分步分享实现方法: 1.添加 C1TileView 到窗体,并 ...