文档章节

对话框集合

chenruibing
 chenruibing
发布于 2015/05/26 14:38
字数 627
阅读 22
收藏 1

选择对话框

//选择对话框
	public void click1(View view){
		//Builder是对话框的创建器
		AlertDialog.Builder builder = new Builder(this);
		builder.setTitle("我是对话框");
		builder.setMessage("对话框显示的内容");
		//确定按钮
		builder.setPositiveButton("确定", new OnClickListener() {
			@Override
			//被点击时候触发这个方法
			public void onClick(DialogInterface dialog, int which) {
				//这里不能使用this
				Toast.makeText(getApplicationContext(), "确定被点击了", 0).show();
			}
		});
		//取消按钮
		builder.setNegativeButton("取消", new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//什么都不写默认实现就是关闭掉对话框
			}
		});
		//设置对话框不能被取消掉,用户必须对其进行选择
		builder.setCancelable(false);
		//create是把对话框创建出来   show是把对话框显示出来,创建了并不一定就显示了
		builder.create().show();
	}
单选对话框

/**
	 * 单选对话框
	 * @param view
	 */
	public void click2(View view){
		//对话框的创建器
		AlertDialog.Builder builder = new Builder(this);
		builder.setTitle("请选择您的性别");
		final String[] items = {"男","女","未知"};
		//设置单选条目    第二参数是默认选择的item的位置,这里默认是未知
		builder.setSingleChoiceItems(items, 2, new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(getApplicationContext(), "您的性别:"+items[which], 0).show();
				//点击完毕后对话框关闭掉
				dialog.dismiss();
			}
		});
		builder.create().show();
	}
多选对话框

/**
	 * 多选对话框
	 * @param view
	 */
	public void click3(View view){
		//对话框的创建器
		AlertDialog.Builder builder = new Builder(this);
		builder.setTitle("请选择你最爱吃的水果");
		final String[] items={"苹果","梨","菠萝","香蕉","黄瓜"};
		final boolean[] result =new boolean[]{true,false,true,false,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 dialog, int which) {
				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();
			}
		});
		//这两个代码是等价的,show的话代码里面会自动create出来
		//builder.create().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("提醒");
		//STYLE_HORIZONTAL  设置成水平方向的进度条模样
		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) {
						e.printStackTrace();
					}
					pd.setProgress(i);
				}
				//同样可以通过api把进度条对话框去掉
				//这个方法是设定在任何线程都可以对其进行关闭,所以现在在子线程也是可以关掉的
				pd.dismiss();
			};
		}.start();
	}



© 著作权归作者所有

上一篇: 多线程断点下载
下一篇: 动画
chenruibing
粉丝 12
博文 203
码字总数 109101
作品 0
潮州
私信 提问
自动化功能测试平台TestComplete的分布式测试教程(二)

TestComplete的分布式测试应用于客户端-服务器应用程序测试,包括在网络中的不同远程工作站上执行的若干测试项目,这些部分可以同时执行或一个接一个地执行。在接下来的连载中我们将介绍在T...

ymy_666666
02/03
16
0
ListView自定义对话框以及列表形式的切换

看截图: 长按后还是显示checkbox。点击view按钮,将出现对话框: 如果touch对话框以外的区域,对话框将消失,这就比较类似ios里的popover了。 view mode下的radio按钮,可以切换列表形式,比...

华宰
2011/09/07
1K
0
Style3D属性面板的开发指南

类结构简介 我已经封装成了框架式程序,有固定可靠的数据流程,开发者只需完成简单的几个框架属性的编写,即可轻松完成子对话框选项卡的设计,无需手动管理物体列表的变化或者选项卡的切换。...

周卓
2014/07/21
100
0
一名前端工程师的自学之路!Js篇(12-05更新)

这里就写的简单一些吧,就当是报复你们看了不点赞不关注了,哈哈哈。接着21号更新的文章~ 对了,我这还有pdf版的红宝书,如果有需要的小伙伴,请联系我。 BOM -- 浏览器对象模型 所有的对象...

自律更自由
2017/12/05
0
0
JavaFX的UI控件集--ControlsFX

JavaFX开发人员今天宣布了一个名为“ControlsFX”的开源项目,该项目旨在为JavaFX开发提供更多的UI控件和其他工具。 该项目主要针对JavaFX 8.0(捆绑在JDK 8中),考虑到JavaFX中已经包含了一...

匿名
2013/05/08
6K
2

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
2.2K
15
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
38
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
40
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
61
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部