Страница 1 из 1

Изменение данных ListView в AlertDialog

Добавлено: 08 ноя 2013, 17:22
Exact1990
Собственно, надо, чтобы при выборе одного из пунктов AlertDialog с множественным выбором изменялись другие пункты. Например один из пунктов "Выбрать все". Соответственно, когда его нажимаешь он выделяет все, когда его отжимаешь - он убирает все (кроме одного), который стоит по умолчанию и если не выбрано ничего выбирается он.

В общем, логика изменения этих пунктов - это дело десятое. Проблема моя в том, что изменения пунктов в true работает, а в false - нет. В чем может быть причина? Кто-нибудь знает?

Код: Выделить всё

android.content.DialogInterface.OnMultiChoiceClickListener myItemsMultiClickListener = new android.content.DialogInterface.OnMultiChoiceClickListener() {
		@Override
		public void onClick(DialogInterface dialog, int which, boolean isChecked) {
			switch (which) {
			case 0:
				if (isChecked==true)
				{
					for (int i = 0; i < chkd.length; i++) {
						chkd[i] = true;
					}
				}
				else
				{
					for (int i = 0; i < chkd.length-1; i++) {
						chkd[i] = false;
					}
				}
				break;
}
		}
	};

Re: Изменение данных ListView в AlertDialog

Добавлено: 08 ноя 2013, 18:11
Foenix
а что такое which?

Re: Изменение данных ListView в AlertDialog

Добавлено: 08 ноя 2013, 18:51
Exact1990
Как я понял из урока на этом сайте и из доков - это идшник элемента, который выбрали.. Разве нет?

Re: Изменение данных ListView в AlertDialog

Добавлено: 08 ноя 2013, 19:15
Exact1990
Разобрался, надо было использовать сочетание:
((AlertDialog) dialog).getListView().setItemChecked(i, true);
и
chkd = true;