Autore Topic: modo migliore per prendere l'elemento selezionato di una lista?  (Letto 528 volte)

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
modo migliore per prendere l'elemento selezionato di una lista?
« il: 23 Ottobre 2012, 11:00:17 CEST »
0
supponiamo che io abbia una lista di oggetti,ad esempio persone,caricata da un db,che hanno id nome e cognome,e voglio visualizzarli in una ListView,quindi la riempo settandoci un'adapter.
ora,se voglio interagire al click su un elemento di questa lista,qual'è la soluzione migliore?

1- tenere una List<Persona> nella mia ListView,implementare OnItemClickListener sempre nella ListView,poi nell'onItemClick prendere la posizione dell'elemento selezionato e fare get(posizione) sulla List<Persona>.
2- tenere in ogni riga del layout della lista un elemento nascosto(non so manco se si può,ma ragionando in javascript fare così')che ha come valore l'id della persona di quella riga,farmi dare il selectedItem all'itemClick,prendere quell'elemento nascosto,e poi una volta che ho l'id della persona posso risalire alla stessa.
3-simile alla prima soluzione,ma non tengo la List<Persona>.sull'itemClick(che come parametri ha un'adapterview,una view e position) da una di queste 2 view risalire all'adapter e farsi dare l'elemento alla position argomento
4-reimplementare l'adapter e il suo metodo getview,quindi creare dinamicamente la riga della lista,dandole come id un nome convenzionato,ad esempio @+id/person_432 dove 432 è l'id della persona.all'item click mi faccio dare il nome,sempre se si può risalire dall'id della risorsa al nome della risorsa,non lo so,probabilmente no
5-non ho più idee ma sentitevi liberi di proporre soluzioni più comode/performanti/semplici

sn curioso e vorrei sapere qual'è l'approccio migliore in caso di ListView
grazie in anticipo :)