2012-06-16 33 views
7

Attualmente sto lavorando ad un progetto Android. Sto usando un ListView e usando una barra delle azioni del contesto e seleziono con successo ogni elemento e mostro un conteggio di quanti oggetti sono stati selezionati all'interno della visualizzazione elenco.Seleziona tutti gli elementi all'interno di ListView

All'interno della barra del contesto ho un'opzione di menu per Select All ma non so come posso essere sicuro che ogni elemento all'interno della visualizzazione elenco sia selezionato.

Non riesco a trovare nulla su Google, qualsiasi cosa su questo tipo di cose e le ListView selezionabili sembrano essere molto ben nascoste.

Qualsiasi aiuto sarebbe molto apprezzato.

Grazie

+0

stai usando l'adattatore personalizzato? qualche codice che hai reso necessario? –

risposta

20

È possibile controllare gli elementi ListView uno per uno:

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

Se si desidera solo selezionare ciò che è sullo schermo, quindi utilizzare listview.getChildCount().

Se si utilizzano i frammenti, sarà necessario utilizzare getListAdapter().getCount().

+4

'listView.getChildCount()' non funzionerà perché restituirà solo gli elementi disegnati correnti che potrebbero non essere tutti gli elementi in Elenco forniti dall'adattatore. Usa invece 'getListAdapter(). GetCount()'. – VipulKumar

+2

VipulKumar ha ragione! È inoltre possibile utilizzare listview.getAdapter(). GetCount() quando non si utilizza il frammento di elenco. –

0

In Android, il layout di una voce di elenco presenta molti layout predefiniti diversi per la selezione dell'elemento di elenco. È possibile utilizzare dal layout predefinito o è possibile anche creare il proprio layout per la voce di elenco. È possibile utilizzare

Android.R.Layout.simple_list_item_multiple_choice

per selezionare più di una voce di elenco dal ListView. Per ulteriori riferimenti, vedere questo link

Problemi correlati