Autore Topic: ListView con filtro e dati da Db  (Letto 505 volte)

Offline clam80

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
ListView con filtro e dati da Db
« il: 04 Novembre 2011, 00:41:29 CET »
0
Ciao a tutti,
è un po' di tempo che vi seguo, ma non sono riuscito a trovare niente che potesse aiutarmi a risolvere questo dubbio che ora esporrò.

In pratica avrei una listview da popolare con i dati provenienti dal mio database.

Avevo pensato di utilizzare un AsyncTask per caricare i dati dal database, e creare un array da usare successivamente per popolare la listview.
Sullo stesso array avrei successivamente lavorato sfruttando un campo per l'inserimento di testo, che facesse filtro, ripopolando poi la listview, ma queta volta senza fare accesso al Db, sperando di risparmiare risorse.
In più alla riga di testo editabile come filtro, ho inserito anche un pulsante per creare un nuovo record, prendendo il testo inserito nel campo editabile, lanciando quindi un altro asyncTask per accedere al db ed eseguire la insert, e successivamente avrei fatto un inserimento sull'array per aggiungere il dato appena salvato nel db, senza dover rileggere tutti i dati dal db.

Cosa ne pensate a livello teorico? è corretto procedere in questo senso?


I problemi che ho incontrato, riguardano il passaggio dei dati recuperati dall'asynctask e salvati nell'array all'activity principale, per eseguire il popolamento della listview...
L'unico modo sarebbe popolarla nel PostExecute dell'asynctask, ma sarebbe corretto richiamare l'asyncTask ad ogni modifica del filtro?
Oltre a questo ho notato che gli AsyncTask non si chiudono dopo l'esecuzione e il popolamento della listview...è corretto? non si potrebbe richeidere esplicitamente la loro chiusura?
Magari per questi problemi tecnici posso postare un po' di codice, così da dare una base sulla quale potermi aiutare...

Per ora mi interessava la parte teorica, anche perchè dovrei creare molte listview per gestire molte tabelle e quindi vorrei prendere la strada corretta  :)

Grazie a tutti per la disponibilità.
Claudio