您的位置:首页 > 移动开发 > Android开发

android中的 AlertDialog的个人见解

2014-12-30 15:05 127 查看
工作一年有余,自认能力还是不够,所以准备整理一下笔记,与君共勉!
这是我看API文档后的第一次笔记,或许写的不够完善,或许写的不够正确,望各位提出指导和批评,谢谢!
本文主要说明简单受用的提示对话框---Dialog.
[code] android API Android API 支持以下类型的对话框:AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog.和自定义的对话框。1,AlertDialogAlertDialog一般是两个按钮positive和native,最多不超过三个即positive、native和neutral。现列举几个经常用到的AlertDialog.(1),最普通的提示对话框,但是有三个按钮。
AlterDialog.Builder  builder = new AlterDialog.Builder(this);builder.setMessage(“你喜欢我吗?”).setCanclable(false)  //不能按back键取消.setPositiveButton(“喜欢”,new DialogInterface.OnClickListener(){Pubilc void onClick(DialogInterface dilog, int id){ManiActivity.this.finish();}}).setNativeButton(“不喜欢”,new DialogInterface.OnClickListener(){Public void onClick(DialogInterface dialog,int id){Dialog.cancel();}}).setNeutralButton(“不知道”,new DialogInerface.OnClickListenre(){Pubilc void onClick(DialogBuilder dialog,int id){}})(2),要创建一个具有可选择性的AlertDialog,使用setItems()方法。Final CharSequence[] items = {“red”,”blue”,”black”};AlertDialog.Builder  builder = new AlertDialog.Builder(this);builder.setTitle(“pick a color”);builder.setItems(items,new DialogInterface.OnClickListener(){Public void onClick(DialogInterface dialog, int item){Toast.makeText(getApplicationContext(),items[item],Toast.LENGTH_SHORT ).show();}})AlertDialog alert = builder.create();首先定义一个名称,再调用setItems()增加一个可选列表,该列表接受一个选项的名称和DialogInterface.OnClickListener,后者定义了选项的回应。(3),类似radio buttons 的AlertDialog。实例如下:Final CharSequence[] items = {“red”,”blue”,”white”};AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle(“pick a color”).setSingleChoiceItems(items,0,new DialogInterface.OnClickListener(){Public void onClick(DialogInterface dialog,int item){selectedColor = item;}}).setPosetiveButton(“确认”,new DialogInterface.OnClickListener(){Public void onClick(DialogInterface dialog,int item){Toast.makeText(this,items[item],Toast.LENGTH_SHORT).show();}}).setNativeButton(“取消”, new DialogInterface.OnClickListener(){Public void onClick(DialogInterface dialog,int item){}});AlertDialog alert = builder.create();重点:setSingleChoiceItems(CharSquence[],int,new DialogInterface.OnClickListener())第一个参数是要显示的数据的数组,第二个参数是初始值(初始被选中的item),第三个参数是点击某个item的触发事件(4),类似checkboxs的AlertDialog.实例入下:Final String[] fruits= new String[] {“apple”,”juice”.”banana”};Final boolean[] selectedFruits = new boolean[]{ture,false,false};AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle(“which fruit do you like?”);.setMultiChoiceItems(fruits,selectedFruits,new DialogInterface.OnMultiChoiceClickListener(){Pubilc void onClick(DialogInterface dialog,int item,boolean isChecked){selectedFruits[item] = isChecked;}}).setPosetiveButton(“确认”,new DialogInterface.OnClickListener(){Public void onClick(DialogInterface dialog,int  which){StringBuilder sb = new StringBuilder();For(int i = 0; i<selectedFruits.length;i++){If(selectedFruits[i]=true){Sb.append(fruits[i]+”、”);}}Toast.makeText(this,sb.toString(), Toast.LENGTH_SHORT);}}).setNative(“取消”,new DialogInterface.OnClickListener(){Public void onClick(DialogInterface dialog, int which){}})AlertDialog alert = builder.create();注意:用setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, final OnMultiChoiceClickListener listener)方法来实现类似CheckBox的AlertDialog第一个参数是要显示的数据的数组,第二个参数是选中状态的数组,第三个参数是点击某个item的触发事件。(5),自定义提示框,在View Dialog 中 用以下方法加载view布局。setContentView(R.layout.main);LayoutInflater layoutInflater = LayoutInflater.from(this);View myView = layoutInflate(R.layout.login,null);AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle(“苗薇薇”).setView(myView).setPosetiveButton();
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: