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

来源:互联网 发布:淘宝为什么关闭弘化社 编辑:程序博客网 时间:2024/05/17 08:06
单选框
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() {@Overridepublic 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() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.cancel();}}) ;builder.setPositiveButton("升级", new OnClickListener() {@Overridepublic 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() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {}});//4.设置确定按钮builder.setNegativeButton("确定", new OnClickListener() {@Overridepublic 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(){@Overridepublic void run() {for (int i = 0; i <=50; i++) {try {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}progressDialog.setProgress(i);}//取消进度条展示progressDialog.cancel();}}).start();progressDialog.show();}


0 0
原创粉丝点击