2011-11-09 16 views
8

C'è un modo per rimuovere elegantemente la selezione su un ListView. Agirebbe nel modo opposto di ListView # setSelection (int position). Vorrei rimuovere a livello di codice la selezione da ListView (in modo tale che nessun elemento è selezionato). Non sembra che l'API abbia un modo semplice per farlo. qualche idea?Android ListView Rimuovi selezione

mia domanda è simile a: Android: disable ListView selection

risposta

0

Ok quello che ho potuto fare per questo impostare il colore di selezione e di sfondo sia dello stesso colore se possibile o gruppo di selezione con valore alfa completo che rende trasparente e anche se selezione è lì che non sarà visibile più

0

il modo più semplice che ho trovato è quello di aggiornare l'adattatore ListView sta usando:

listAdapter.notifyDataSetChanged(); 

ListView sarà quindi aggiornare, h aving le stesse scelte ma il punto culminante della selezione sarà cancellato.

+0

Questo metodo non esiste (in my api v.19) – Asterius

+0

@Asterius, è un metodo dell'adattatore di elenco, non di ListView. –

0

Usa listView.setItemChecked(-1, true);

3

Nessuna delle altre risposte ha funzionato per me così ho fatto questo:

SparseBooleanArray positions = getListView().getCheckedItemPositions(); 
    for (int i = 0; i < positions.size(); i++) { 
     getListView().setItemChecked(positions.keyAt(i), false); 
    } 

Non molto elegante, ma funziona.