2011-12-29 16 views
28

Sto usando isEnabled nel mio BaseAdapter di ListView e controllo quali file possono essere cliccabili. Tuttavia, voglio disabilitare l'evento click per la mia intestazione e isEnabled non funziona. La posizione 0 punta sulla prima riga, quindi non posso controllare il click dell'intestazione.Android ListView Header Disable Click

D'altra parte, quando aggiungo l'intestazione utilizzando addHeaderView dando argomenti (intestazione, null, falso), funziona, ma i divisori mancano in questo modo. Come posso gestirlo?

C'è qualcuno che conosce questo problema?

risposta

83

È possibile utilizzare addHeaderView(header, null, false). Per l'intestazione, gonfia una vista che ha il contenuto dell'intestazione con un divisore sotto. Questa vista è ciò che ho usato per il divisorio.

<View 
    android:layout_width="fill_parent" 
    android:layout_height="1px" 
    android:background="#adaaad" /> 
+43

Uso addHeaderView (vista, null, false) lavorato. addHeaderView (view) apparentemente impostato su "selezionabile". –

+1

Questo potrebbe rimuovere i separatori di elementi dell'elenco - consultare http://stackoverflow.com/questions/14367278/issue-with-addheadhead-and-missing-list-separator/14368524#14368524 Se si desidera che tutti gli oggetti listview e l'intestazione non selezionabili , puoi impostare 'code'listView.setSelector (android.R.color.transparent);' codice'. Ciò manterrà i separatori. –

+3

È una vecchia domanda, ma vorrei sottolineare che su alcuni dispositivi il valore predefinito è selezionabile e, dall'altra, non selezionabile. Quindi è bene usare sempre il metodo dei tre argomenti. –