2010-10-08 13 views
5

Ho una visualizzazione elenco. Nella visualizzazione elenco, devo disattivare e disabilitare alcuni elementi e abilitare gli elementi dell'elenco di restazioni con colori separati. Come fare questo?disabilitazione e oscuramento delle voci di elenco

+0

Come si genera l'elenco? Programmaticamente all'interno di un'attività Java o con una risorsa XML? – methode

risposta

5

Dovresti scrivere un adattatore personalizzato che estende BaseAdapter per il tuo ListView. Per disabilitare determinati elementi, devi sostituire il "booleano isEnabled (int position)" in questo adattatore e restituire false per tutte le posizioni che desideri disabilitare.

Come per cambiare il colore di sfondo per determinati elementi di elenco: è possibile memorizzare il valore del colore di sfondo nella struttura dati che si sta visualizzando. Nel metodo 'getView()' dell'adattatore personalizzato, è necessario controllare questo valore del colore per l'elemento corrente e restituire una vista con il set di colori di sfondo corretto.

Oppure puoi semplicemente chiamare 'getChildAt()' su ListView, recuperare l'oggetto View per l'elemento desiderato nell'elenco e cambiarne il colore di sfondo. Penso che preferirei usare la soluzione precedente.

Ricordarsi di chiamare "notifyDataSetChanged()" sull'adattatore di ListView dopo aver apportato modifiche come questa.

+0

grazie mille !!! quello ha funzionato! – mdv

Problemi correlati