使用在运行时生成的元素创建AlertDialog

时间:2011-03-06 20:32:52

标签: android dynamic alertdialog

我在Android开发站点找到了以下文档,该文档适用于创建带有硬编码元素的AlertDialog:http://developer.android.com/guide/topics/ui/dialogs.html#AddingAList

如果您可以对它们进行硬编码,则可以正常工作。但是,在我的应用程序中,我需要在运行时生成项目(在生成之前,我甚至不知道项目列表的长度),第一次请求对话框时。

如何使用在运行时生成的列表,而不是示例中用于AlertDialog中项目的final CharSequence[]

由于

1 个答案:

答案 0 :(得分:7)

  1. 仅当您从内部类(在本例中为OnClickListener)中访问变量时,变量才需要为final。您是否需要访问内部类中的项目列表?

  2. final仅表示引用不得更改(=变量始终指向同一对象)。它没有说明对象是如何创建的。你可以轻松地做到:

    List<String> strings = new ArrayList<String>();
    strings.add("Red");
    strings.add("Green");
    strings.add("Blue");
    
    final CharSequence[] items = strings.toArray(new String[strings.size()]);