Visualizzazione stampabile
-
ListView e database
Allora vi espongo il mio problema..devo creare una ListView con elementi prelevati da un database..ho una tabella con 3 colonne, id parametro e valore..in pratica per ogni id ho delle informazioni che sono contenute in parametro e valore..mi spiego meglio..se all'id=1 corrisponde la persona pinco pallino di anni 30 nella tabella avrò:
id parametro valore
1 nome pinco
1 cognome pallino
1 età 30
1 foto pinco.jpg
nella listview voglio visualizzare la foto e il nome..ci sono riuscito, il problema è che mi visualizza 4 volte la stessa riga, perchè per ogni id ho 4 righe..come faccio a visualizzare una sola riga per ogni id?
-
Spero tu abbia un motivo valido per aver gestito così un database, perchè sembra pura follia :S
Comunque passando al sodo devi smembrare tutto.
Dunque crei un Arraylist di Hashmap, ad ogni hashmap aggiungi i 4 parametri. Poi anzichè utilizzare come probabilmente stai facendo un CursorAdapter, utilizzo un SimpleAdapter che ha un funzionamento praticamente identico.
Qui un semplice tutorial su come funziona il popolamento della lista tramite un SimpleAdapter -> Android – Simple ListView using SimpleAdapter | Eureka!
-
il database l'ho preso dall'esterno, non è stata una mia scelta..però mi serve così perchè posso specificare più coppie parametro-valore..il problema è che non voglio stampare a video tutte le info, ma solo quelle relative al nome e all'immagine..con il SimpleCursorAdapter ci riuscivo ma me le stampava duplicate..p.s ma con il SimpleAdapter posso stampare a video l'immagine?
-
In che senso le stampava duplicate??
Se tu per ogni hashmap ci metti il blocco con id x poi visualizzerai una riga per ogni hashmap. Cmq si puoi benissimo visualizzare un immagine con un simpleadapter. Cambia il modo in base a dove sono le immagini, se sono locali si fa in un modo invece se sono sul db o online si fa in un altro modo!
Inviato dal mio GT-I9100 usando Androidiani App
-
le immagini le metto nella sd card, nel database ho salvato il nome delle immagini
Edit: ho cambiato idea..le immagini le metto nella dyrectory assets..come faccio a prelevarle e a stamparle nella listwiev? Mi creo un'Hash Map di tipo String-Bitmap?
-
secondo te mi coviene modificare il database? Mi salvo nel db solo il nome e l'immagine mentre altre info le salvo in un file esterno e le recupero solo se mi servono..così occuperei troppa memoria? Tieni conto che sto gestendo una lista della spesa, quindi ho molti prodotti da gestire e ci dovrebbe essere un file per ogni prodotto..
-
Ho provato con un'hash map di tipo <String,Object>.. ho inserito i seguenti campi:
"nome", nome prelevato dal database
"image", ImageView con immagine letta dalla directory assets(il nome l'ho prelevato dal db)
poi ho scritto:
String[] from={"name","image"};
int[] to={R.id.prodotto,R.id.logo};
setListAdapter(new SimpleAdapter(Carrello.this, data, R.layout.row2, from,to));
il nome viene visualizzato, l'immagine no :S