Программная отмена пунктов в диалоге на Android - PullRequest
1 голос
/ 12 апреля 2011

Я показываю список с флажками в диалоговом окне. Список выглядит примерно так -

Item 1

Item 2

All

с флажком рядом с каждым элементом. Теперь требования Если пункт 1 или элемент 2 или оба уже отмечены, и выбрано «Все», элементы 1 и 2 должны быть не отмечены.

Для этого я реализовал прослушиватель onClick DialogInterface.OnMultiChoiceClickListener.

public void onClick(DialogInterface dialog, int which, boolean isChecked)
{
  if(which == 2 && isChecked)
  {
    ((AlertDialog)dialog).getListView().setItemChecked(0, false);
    ((AlertDialog)dialog).getListView().setItemChecked(1, false);
  }
}

Но это не работает. Я даже пытался сделать просмотр списка недействительным, вызвав Invalidate () и InvalidateViews (), но безуспешно.

Любая помощь будет по достоинству оценена.

Спасибо

Акшай

Ответы [ 2 ]

1 голос
/ 14 апреля 2011
0 голосов
/ 12 апреля 2011

Если я правильно понимаю, флажки в списке. Возник вопрос с противоположной ситуацией: пытаться снять все флажки. Решение, кажется, заключается в том, чтобы позвонить

adapter.notifyDataSetChanged()

Вот ссылка на этот вопрос: Снимите все флажки в пользовательском ListView

РЕДАКТИРОВАТЬ: Хорошо, я попробую еще раз :-) Нашел еще один вопрос по этому поводу: Android: обновить ListView с помощью ListAdapter и SimpleCursorAdapter Надеюсь, это поможет! : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...