将字符串数组作为数据源以列表方式显示在对话框中

一、使用AlertDialog,在不使用外部布局的情况下在对话框中显示一个列表(列表项只包含一行文字,数据源是String[]类型的值),并响应每一个列表项的单击事件

  使用AlertDialog.Builder.setItems方法可以将一个String数组以列表形式显示在对话框中,代码:

 1 final String provinces[]=new String[]{

 2             "辽宁省"," 山东省"," 河北省"," 福建省"," 广东省", "黑龙江省"," 浙江省","吉林省"    

 3         };

 4         final AlertDialog.Builder builder=new AlertDialog.Builder(this);

 5         builder.setTitle("选择省份");

 6         builder.setItems(provinces, new OnClickListener(){

 7             @Override

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

 9                 builder.setMessage("您选择了:"+which+":"+provinces[which]).show();

10             }

11             

12         });

13         builder.create().show();

  效果如下图:

 将字符串数组作为数据源以列表方式显示在对话框中

二、将字符串数组作为数据源列表方式显示在标准对话框中,并在列表项后面显示选项按钮

  使用AlertDialog.Builder.setSingleChoiceItems方法不仅可以在对话框上显示列表,还可以在列表项后面显示选项按钮。代码:

 1 final String provinces[]=new String[]{//定义将要显示在列表项中的字符串数组

 2             "辽宁省"," 山东省"," 河北省"," 福建省"," 广东省", "黑龙江省"," 浙江省","吉林省"    

 3         };

 4         final AlertDialog.Builder builder=new AlertDialog.Builder(this);

 5         builder.setTitle("选择省份");

 6         builder.setSingleChoiceItems(provinces, -1, new OnClickListener(){

 7             //-1对应的参数规定了哪一个选项默认被选中,-1表示默认没有选项被中

 8             @Override

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

10                 builder.setMessage("您已选择了:"+which+":"+provinces[which]).show();

11             }

12         });

13         //对话框的关闭按钮

14         builder.setPositiveButton("关闭", new OnClickListener(){

15 

16             @Override

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

18                 dialog.dismiss();

19             }

20             

21         });

22         builder.create().show();

  效果图如下:

将字符串数组作为数据源以列表方式显示在对话框中

  

你可能感兴趣的:(字符串)