2012-06-16 26 views
7

Ich arbeite gerade an einem Android-Projekt. Ich benutze eine ListView und benutze eine Context-Action-Leiste, und ich wähle erfolgreich jedes Element und zeige eine Zählung an, wie viele Elemente in der Listenansicht ausgewählt wurden.Alle Artikel in ListView auswählen

Innerhalb der Kontextleiste habe ich eine Menüoption für Select All, aber ich weiß nicht, wie ich sicherstellen kann, dass jedes Element in der Listenansicht ausgewählt ist.

Es scheint nichts auf Google zu finden, irgendetwas über diese Art von Ding und auswählbare ListViews scheinen sehr gut versteckt zu sein.

Jede Hilfe würde sehr geschätzt werden.

Danke

+0

verwenden Sie benutzerdefinierten Adapter? Irgendein Code, den du gemacht hast, benötigt? –

Antwort

20

Sie Listenansicht Artikel überprüfen eins nach dem anderen:

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

Wenn Sie nur auswählen möchten, was auf dem Bildschirm ist, dann listview.getChildCount() verwenden.

Wenn Sie Fragmente verwenden, müssen Sie getListAdapter().getCount() verwenden.

+4

'listView.getChildCount()' funktioniert nicht, da nur die aktuell gezeichneten Objekte zurückgegeben werden, die möglicherweise nicht alle vom Adapter angegebenen Objekte in Liste sind. Verwenden Sie stattdessen 'getListAdapter(). GetCount()'. – VipulKumar

+2

VipulKumar hat Recht! Sie können auch listview.getAdapter(). GetCount() verwenden, wenn Sie kein Listenfragment verwenden. –

0

In Android, Listenansicht Artikel Layout haben viele verschiedene Standard-Layout für die Auswahl Listenelement. Sie können das Standardlayout verwenden oder Sie können auch ein eigenes Layout für das Listenelement erstellen. Sie können

Android.R.Layout.simple_list_item_multiple_choice

wählen mehr als ein Listenelement aus der Listenansicht verwenden. Weitere Informationen finden Sie unter link