2012-06-16 4 views
7

В настоящее время я работаю над проектом android. Я использую ListView и использую панель действий контекста, и я успешно выбираю каждый элемент и показываю, сколько элементов было выбрано в виде списка.Выделить все элементы в ListView

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

Возможно, что-то не найдено в Google, ничего подобного в этом типе вещей и по выбору ListViews, кажется, очень хорошо скрыты.

Любая помощь была бы принята с благодарностью.

Спасибо

+0

Вы используете пользовательский адаптер? какой код вам нужен? –

ответ

20

Вы можете проверить ListView пункты один за другим:

for (int i=0; i < listview.getAdapter().getCount(); i++) { 
    listview.setItemChecked(i, true); 
} 

Если вы хотите выбрать только то, что находится на экране, а затем использовать listview.getChildCount().

Если вы используете фрагменты, вам нужно будет использовать getListAdapter().getCount().

+4

'listView.getChildCount()' не будет работать, потому что он будет возвращать только текущие обратные элементы, которые могут быть не все элементы в списке, заданные адаптером. Вместо этого используйте getListAdapter(). GetCount() '. – VipulKumar

+2

VipulKumar - это правильно! Вы также можете использовать listview.getAdapter(). GetCount(), когда не используете фрагмент списка. –

0

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

Android.R.Layout.simple_list_item_multiple_choice

выбрать более чем один элемент списка из ListView. Для получения дополнительной информации см. Это link