Ho appena aggiunto un'intestazione al mio ListView e devo cambiare un po 'di codice perché l'intestazione diventa essenzialmente la posizione 0 (Significato Gli indici del cursore del mio CursorAdapter non si allineano con gli indici della lista. entro 1 ora). Perché? Questo mi sembra un po 'sciocco.C'è una buona ragione per una intestazione di ListView occupare una posizione?
L'unico motivo per cui posso venire è che uno sviluppatore potrebbe voler accedere all'intestazione. Belle. Fornire qualcosa come getListView(). GetHeader().
Attendi fino a quando non devi inserire le intestazioni di sezione. È un incubo. – Falmarri
Fintanto che ci si riferisce all'adapter associato all'elenco, non si dovrebbero avere problemi "off-one". L'aggiunta di intestazioni/piè di pagina avvolge l'adattatore e apporta queste regolazioni all'utente. –
Posso inserire le intestazioni della mia sezione in modo corretto. Con un ArrayAdapter, le intestazioni di sezione sono voci di elenco effettive. Con un CursorAdapter, ogni elemento ha un'intestazione come parte della sua Vista, ma viene mostrata solo per l'elemento superiore di ogni sezione. Il problema con entrambi questi approcci è che l'intestazione scompare; così potresti finire con una lista piena di elementi e non sapere quale intestazione sono sotto perché l'intestazione è scorsa dalla parte superiore dello schermo. Stavo facendo esperimenti con le intestazioni di ListView per aggirare questo problema, ma a quanto pare scorrono anche loro. – Andrew