Как обновить массив элементов в списке AlertDialog, созданном с помощью AlertDialog.builder, после создания - PullRequest
5 голосов
/ 04 апреля 2011

Я создал диалоговое окно, в котором отображается список элементов с возможностью выбора, которые можно проверить, используя AlertDialog.builder.

Я устанавливаю начальный набор имен элементов и их проверенное состояние таким образом:

builder.setMultiChoiceItems( saveTargets.names, saveTargets.checked, new DialogInterface.OnMultiChoiceClickListener() {

В моем диалоговом окне я добавил кнопку, которая создает новый элемент, который должен отображаться и быть доступным для выбора в списке с множественным выбором.

Как я могу попросить диалог обновить список допоказать новый элемент?

Я добавил его в мои переменные "saveTargets", но мне нужно установить новые данные в виде списка в диалоговом окне предупреждения.

Я попытался использовать курсор для настройкимножественный выбор.Я не могу использовать это сейчас по другим причинам.

Я смотрел на получение ListView и Адаптера из диалогового окна предупреждений, но не вижу вызовов для обновления массива имен и проверенного состояния.

1 Ответ

1 голос
/ 09 июня 2011

Мне нужно было сделать что-то подобное. Посмотрев на Google, stackoverflow и документацию, кажется, что это практически невозможно сделать без создания собственного адаптера для обработки списка (см .: Как настроить элементы списка в Android AlertDialog ). Так как мне нужно было это только для одного диалога, в итоге я сделал то, что в документации не сказано: я создал в своем методе alerttdialog и не включил его в «onCreateDialog» в своей деятельности (мне пришлось это сделать для серии диалогов для другого класса в моем приложении, а также). Таким образом, диалоговое окно воссоздается с нуля при каждом вызове, поэтому список обновляется каждый раз. Это было самое легкое исправление, которое я мог найти лично. Может быть, не так чисто, но проще в добавлении и работает как надо.

...