android - 用 list<> 填充 builder.setItem

标签 android list android-alertdialog builder

我正在尝试使用 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/

相关文章:

android - 双击编辑文本弹出对话框出现两次

Android - AlertDialog 导致 android.view.WindowLeaked

android - 新视觉API——图片尺寸

PhoneGap + ChildBrowser 中的 Android + Twitter 集成

python - 在Python循环下访问迭代列表中的所有元素

android - Android 警报对话框中的 EditText

Android 为完成的启动服务设置监听器

android - 如何从 Jetpack Compose 中的 Radio 组获取值

python - 使用列表列表过滤列表列表

java - Arrays.asList().contains() 给出错误的结果