您的位置:首页 > 其它

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

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

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

final String provinces[]=new String[]{
"辽宁省"," 山东省"," 河北省"," 福建省"," 广东省", "黑龙江省"," 浙江省","吉林省"
};
final AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("选择省份");
builder.setItems(provinces, new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
builder.setMessage("您选择了:"+which+":"+provinces[which]).show();
}

});
builder.create().show();


  效果如下图:

 


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

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

final String provinces[]=new String[]{//定义将要显示在列表项中的字符串数组
"辽宁省"," 山东省"," 河北省"," 福建省"," 广东省", "黑龙江省"," 浙江省","吉林省"
};
final AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("选择省份");
builder.setSingleChoiceItems(provinces, -1, new OnClickListener(){
//-1对应的参数规定了哪一个选项默认被选中,-1表示默认没有选项被中
@Override
public void onClick(DialogInterface dialog, int which) {
builder.setMessage("您已选择了:"+which+":"+provinces[which]).show();
}
});
//对话框的关闭按钮
builder.setPositiveButton("关闭", new OnClickListener(){

@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}

});
builder.create().show();


  效果图如下:



  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: