Programmazione: Visualizzare gli oggetti di una ListView in gruppi omogenei con titolo

Programmazione, le guide di AndDev.it

Ancora qua per una nuova guida alla programmazione made in AndDev.it. Questa volta si tratta di raggruppare in gruppi omogenei elementi di una lista (ListView). Ecco la descrizione della guida:

Per rendere più pulita e ordinata la visualizzazione delle liste in android è molto elegante l'uso degli header, in pratica si tratta di suddividere i dati della lista in gruppi omogeni rispetto ad una caratteristica comune ed inserire un titolo per ogni gruppo (come i contatti suddivisi per lettera in ordine alfabetico).
Eseguendo ricerche sull'implementazione di tale funzioni energono due strade possibili :

  • Utilizzo di diversi adapter : praticamente si tratta di separare l'adapter che gestisce i dati della lista in più adapter già suddivisi in gruppi omogenei e utilizzare il metodo setHeader() delle ListView prima di aggiungere ogni adapter alla lista.
    Questa soluzione non mi è sembrata molto pratica, sopratutto nel caso in cui si volesse utilizzare un CursorAdapter.
  • Utilizzare un layout custom per gli item : in questa soluzione si crea un layout custom per gli item della lista inserendo una TextView che conterrà il titolo. Tale TextView è di default invisibile e verrà visualizzata solo dove necessario.

Questo tutorial si preffigge di illustrare un'implementazione della seconda opzione.

Al solito, la guida, gli screenshot e il codice sono sul forum di AndDev.it.