Каков процесс создания AlertDialog с помощью ListView в Android?

Я хочу знать процесс или порядок создания AlertDialog. Порядок, в котором я задаю этот вопрос, заключается в том, что я предполагаю отфильтровать и отключить какой-либо элемент списка в AlertDialog. Оно должно быть динамическим. Поэтому я решил перезаписать метод onPrepareDialog(int id, Dialog dialog).

Сначала я создаю AlertDialog в методе onCreateDialog(int id)

protected Dialog onCreateDialog(int id) {
    --------

    builder.setMultiChoiceItems(itemsId, checkedItems, mListenter);

    ---------
}


protected void onPrepareDialog(int id, Dialog dialog) {
    -----------
    ListView mListView = ((AlertDialog)dialog).getListView();
    mListView.setItemChecked(0, false);
    mListView.invalidateViews();

    View view = mListView.getChildAt(0);
    -----------
}

Но эти коды не работают. Первый элемент все еще должен быть проверен после того, как я проверил его раньше. И ChildView имеет значение null при первом отображении диалога, почему? Как добавить какой-либо элемент в ListView и как отключить, но показать некоторые элементы.


person Chris    schedule 08.09.2010    source источник


Ответы (1)


Проверьте и посмотрите, не закончился ли мой ответ по адресу: alertdialog-builde/6297813">Как обновить массив элементов в списке AlertDialog, созданном с помощью AlertDialog.builder после создания, отвечает всем требованиям. Это работает для меня, по крайней мере.

person Christian Smith    schedule 23.06.2011