万书网 > 文学作品 > Android从入门到精通 > 第50页

第50页


public  void  onClick(View  v)  {



AlertDialog  alert  =  new  AlertDialog.Builder(MainActivity.this).create();



alert.setIcon(R.drawable.advise);  //设置对话框的图标



alert.setTitle("系统提示:");  //设置对话框的标题



alert.setMessage("带取消、中立和确定按钮的对话框!");  //设置要显示的内容



//添加“取消”按钮



alert.setButton(DialogInterface.BUTTON_NEGATIVE,"取消",  new  OnClickListener()  {



@Override



public  void  onClick(DialogInterface  dialog,  int  which)  {



Toast.makeText(MainActivity.this,  "您单击了取消按钮",Toast.LENGTH_SHORT).show();



}



});



//添加“确定”按钮



alert.setButton(DialogInterface.BUTTON_POSITIVE,"确定",  new  OnClickListener()  {



@Override



public  void  onClick(DialogInterface  dialog,  int  which)  {



Toast.makeText(MainActivity.this,  "您单击了确定按钮",Toast.LENGTH_SHORT).show();



}



});



alert.setButton(DialogInterface.BUTTON_NEUTRAL,"中立",new  OnClickListener(){



@Override



public  void  onClick(DialogInterface  dialog,  int  which)  {}



});  //添加“中立”按钮



alert.show();  //显示对话框



}



});

(3)在主活动MainActivity.java的onCreate()方法中,获取布局文件中添加的第2个按钮,也就是“显示带列表的对话框”按钮,并为其添加单击事件监听器,在重写的onClick()方法中,应用AlertDialog类创建一个带5个列表项的列表对话框,具体代码如下:

Button  button2  =  (Button)  findViewById(R.id.button2);  //获取“显示带列表的对话框”按钮



button2.setOnClickListener(new  View.OnClickListener()  {



@Override



public  void  onClick(View  v)  {



final  String[]  items  =  new  String[]  {  "跑步",  "羽毛球",  "乒乓球",  "网球",  "体操"  };



Builder  builder  =  new  AlertDialog.Builder(MainActivity.this);



builder.setIcon(R.drawable.advise1);  //设置对话框的图标



builder.setTitle("请选择你喜欢的运动项目:");  //设置对话框的标题



//添加列表项



builder.setItems(items,  new  OnClickListener()  {



@Override



public  void  onClick(DialogInterface  dialog,  int  which)  {



Toast.makeText(MainActivity.this,



"您选择了"  +  items[which],  Toast.LENGTH_SHORT).show();



}



});



builder.create().show();  //创建对话框并显示



}



});

注意:  一定不要忘记上面代码中加粗的代码,否则将不能显示生成的对话框。

(4)在主活动MainActivity.java的onCreate()方法中,获取布局文件中添加的第3个按钮,也就是“显示带单选列表项的对话框”按钮,并为其添加单击事件监听器,在重写的onClick()方法中,应用AlertDialog类创建一个带5个单选列表项和一个“确定”按钮的列表对话框,具体代码如下:

Button  button3  =  (Button)  findViewById(R.id.button3);  //获取“显示带单选列表项的对话框”按钮



button3.setOnClickListener(new  View.OnClickListener()  {



@Override



public  void  onClick(View  v)  {



final  String[]  items  =  new  String[]  {  "标准",  "无声",  "会议",  "户外","离线"  };



//显示带单选列表项的对话框



Builder  builder  =  new  AlertDialog.Builder(MainActivity.this);



builder.setIcon(R.drawable.advise2);  //设置对话框的图标



builder.setTitle("请选择要使用的情景模式:");  //设置对话框的标题



builder.setSingleChoiceItems(items,  0,  new  OnClickListener()  {



@Override



public  void  onClick(DialogInterface  dialog,  int  which)  {



Toast.makeText(MainActivity.this,



"您选择了"  +  items[which],  Toast.LENGTH_SHORT).show();  //显示选择结果



}



});





builder.setPositiveButton("确定",  null);  //添加“确定”按钮



builder.create().show();  //创建对话框并显示



}



});

(5)在主活动中定义一个boolean类型的数组(用于记录各列表项的状态)和一个String类型的数组(用于记录各列表项要显示的内容),关键代码如下:

private  boolean[]  checkedItems;  //记录各列表项的状态



private  String[]  items;  //各列表项要显示的内容

(6)在主活动MainActivity的onCreate()方法中,获取布局文件中添加的第4个按钮,也就是“显示带多选列表项的对话框”按钮,并为其添加单击事件监听器,在重写的onClick()方法中,应用AlertDialog类创建一个带5个多选列表项和一个“确定”按钮的列表对话框,具体代码如下: