我正在尝试使用 Builder 构建一个 AlertDialog。我的对话框必须有多个选项供用户选择。我在 android 开发者网站上发现我可以使用 builder.setItems(int, DialogInterface.onClickListener)。我的问题是我试图传递一个列表地址而不是 int。我希望用户从地址列表中选择一个选项。这是我的说明代码:
private List<Address> addresses;
protected void updateMap() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick an Address");
builder.setItems(addresses, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int choosenAddress) {
//address = addresses.get(choosenAddress); //choose result from the array
}
});
在 builder.setItems 中 .. 我收到一条错误消息,指出此参数不包含列表。
最佳答案
SetItems
将 Charsequence Array 作为参数,因此您必须转换 List<Address>
至 List<String>
然后使用 list.toarray()
关于android - 用 list<> 填充 builder.setItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12268123/