Создать AlertDialog с элементами, сгенерированными во время выполнения - PullRequest
0 голосов
/ 06 марта 2011

Я нашел следующий документ на сайте разработчика Android, который работает для создания AlertDialog с жестко закодированными элементами: http://developer.android.com/guide/topics/ui/dialogs.html#AddingAList.

Это отлично работает, если вы можете жестко их кодировать,Однако в моем приложении мне нужно генерировать элементы во время выполнения (до генерации я даже не знаю длины списка элементов), когда диалог запрашивается впервые.

Как я могу использовать список, сгенерированный во время выполнения, вместо final CharSequence[], используемого в примере для элементов в AlertDialog?

Спасибо

1 Ответ

7 голосов
/ 07 марта 2011
  1. Переменная должна быть final, только если вы обращаетесь к ней из внутреннего класса (в данном случае OnClickListener).Вам нужен доступ к списку элементов во внутреннем классе?

  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()]);
    
...