安卓中关于对话框的四种写法

单选框
public void onClick(View v) {
		Builder builder = new AlertDialog.Builder(this);// 创建alertDialog对象
		builder.setTitle("请选择你喜欢的科目");
		final String[] items = new String[] { "Android", "ios", "html",
				"html5", "c++" };
		builder.setSingleChoiceItems(items, -1, new OnClickListener() {

			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(getApplicationContext(),
						"你选择的科目是:" + items[which], 0).show();
				dialog.cancel();
			}
		});
		builder.show();

	}

普通对话框

public void putong(View v) {
		Builder builder = new AlertDialog.Builder(this);
		builder.setTitle("升级提示");
		builder.setMessage("1.新增短信功能\n2.新增吸费功能");
		builder.setNegativeButton("下次更新",  new OnClickListener() {
			
			@Override
			public void onClick(DialogInterface dialog, int which) {
				dialog.cancel();
				
			}
		}) ;
		
		builder.setPositiveButton("升级", new OnClickListener() {
			
			@Override
			public void onClick(DialogInterface dialog, int which) {
				Toast.makeText(getApplicationContext(), "开始下载新版本", 0).show();
				dialog.cancel();
				
			}
		});
		builder.show();
	}

多选框

Builder builder=new AlertDialog.Builder(this);
		builder.setTitle("你去过的地方");
		final String[] items=new String[]{"北京","西安","大同","日本"};
		final boolean[] check=new boolean[]{true,false,false,false};
		
		//设置单选项
		builder.setMultiChoiceItems(items, check, new OnMultiChoiceClickListener() {
			
			@Override
			public void onClick(DialogInterface dialog, int which, boolean isChecked) {	
			}
		});
		
		//4.设置确定按钮
		builder.setNegativeButton("确定", new OnClickListener() {
			
			@Override
			public void onClick(DialogInterface dialog, int which) {
				StringBuilder sb=new StringBuilder();
				for (int i = 0; i < items.length; i++) {
					if(check[i]){
						sb.append(items[i]).append(",");
					}
				}
				Toast.makeText(getApplicationContext(), sb.toString(), 0).show();
				dialog.cancel();
			}
		});
		
		builder.show();
	}

进度条

public void jdt(View v) {
		final ProgressDialog progressDialog=new ProgressDialog(this);//创建一个进度条的对话框
		progressDialog.setTitle("正在下载...");//设置一个标题
		progressDialog.setProgressStyle(progressDialog.STYLE_HORIZONTAL);//设置水平的
		progressDialog.setMax(50);
		new Thread(new Runnable(){

			@Override
			public void run() {
				for (int i = 0; i <=50; i++) {
					try {
						Thread.sleep(100);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					progressDialog.setProgress(i);
				}
				//取消进度条展示
				progressDialog.cancel();
				
			}}).start();
		progressDialog.show();
		
		
	}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值