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. 手机浏览器JS识别

    识别方法:采用Fiddler 抓包工具 侦测手机http链接,抓取http头 查看 工具:Fiddler 1:Fiddler配置 允许远程设备连接,配置端口为默认8888(确保8888端口没有被其他进 ...

  2. MySQL工具汇总

    本博客已经迁移至:http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文请点击:http://cenalulu.github.io/mysql/mysql-tools-lis ...

  3. iOS-沙盒路径总结、文件管理NSFileManager总结

    // //  ViewController.m //  沙盒操作 // //  Created by mncong on 15/11/26. //  Copyright © 2015年 mancong ...

  4. 【rational rose】用例图

  5. web面试题大全

    $HTML, HTTP,web综合问题 常见排序算法的时间复杂度,空间复杂度 前端需要注意哪些SEO web开发中会话跟踪的方法有哪些 <img>的title和alt有什么区别 docty ...

  6. Lucene-Analyzer

    Lucene文本解析器实现 把一段文本信息拆分成多个分词,我们都知道搜索引擎是通过分词检索的,文本解析器的好坏直接决定了搜索的精度和搜索的速度. 1.简单的Demo private static fi ...

  7. Winform开发框架主界面设计展示

    做了好多年Winform的程序的开发,主窗口的界面设计一般都要求做的更好一些,可以根据不同的系统功能模块进行归类整合,能使客户迅速寻找到相关功能的同时,也能感觉到整体性的美观大方,因此主窗口的界面设计 ...

  8. css中visiblity和display异同

    visiblity 是设置元素的可见性,即可见 / 隐藏:隐藏后元素所占有位置保留: display 是设置元素按什么样的方式来显示,是按块显示,显示成一条线的形式,显示为“消失”等等,当displa ...

  9. 使用mvc3实现ajax跨域

    ajax跨域一般两种方式   1:cors,2:jsonp, 1:cors jsonp是get形式,承载的信息量有限,所以信息量较大时CORS是不二选择 在请求消息头添头 Access-Control ...

  10. bootstrap - table

    http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/