Autore Topic: ListView con imageview  (Letto 906 volte)

Offline leolivio

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer
  • Sistema operativo:
    Ubuntu
ListView con imageview
« il: 16 Novembre 2014, 12:49:17 CET »
0
Buon Giorno

Ho una listview con una imageview

ricevo i dati da un servizio REST

riporto le parte interessata

final SimpleAdapter adapter_film = new SimpleAdapter(
                this,
                list,
                R.layout.custom_row_view,
                new String[] {"locandina","Titolo Film","Regia","Genere"},
                new int[] {R.id.locandina,R.id.text1,R.id.text2, R.id.text3}

        );

HashMap<String, String> temp = new HashMap<String, String>();

ImageView imageView = (ImageView) findViewById(R.id.locandina);
imageView.setImageDrawable(loadImageFromUrl(MioURL));

temp.put("img",  Integer.String(imageView));
temp.put("Titolo Film", pii.getProperty(0).toString());
temp.put("Regia", pii.getProperty(1).toString());
temp.put("Genere", pii.getProperty(2).toString());
list.add(temp);

l' imageview ricavata dovrebbe comportarsi come un immagine R.drawable.logo; (Che Funziona con immagini drawable)

final int locandina = R.drawable.logo;

in formato int e poi con Integer.String cosi mi possibile fate la temp.put("img",  Integer.String(imageView));

l 'imageview cosi come la ricavo non mi e possibile trasformarla in INT ne STRING

Grazie per un Idea

Livio


Offline tonno16

  • Utente storico
  • *****
  • Post: 1169
  • Respect: +56
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:ListView con imageview
« Risposta #1 il: 16 Novembre 2014, 14:00:04 CET »
0
Io non capisco cosa vuoi fare.

USA il tag quote per formattare il codice.

Le immagini le ricavi da internet? E ce le hai in locale?

Offline leolivio

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer
  • Sistema operativo:
    Ubuntu
Re:ListView con imageview
« Risposta #2 il: 16 Novembre 2014, 16:10:51 CET »
0
Vorrei convertire l'immagine ricavata dal download imageView.setImageDrawable(loadImageFromUrl(MioURL));

in Int o string

per passarla

HashMap<String, String> temp = new HashMap<String, String>();

temp.put("img",  Integer.String(imageView));
temp.put("Titolo Film", pii.getProperty(0).toString());
temp.put("Regia", pii.getProperty(1).toString());
temp.put("Genere", pii.getProperty(2).toString());
list.add(temp);

Offline tonno16

  • Utente storico
  • *****
  • Post: 1169
  • Respect: +56
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:ListView con imageview
« Risposta #3 il: 16 Novembre 2014, 16:13:55 CET »
0
Non hai risposto alla domanda.
Comunque se hai un sito www.dominio.foto/prima.jpg
Ti basta usare la libreria Picasso.

Questa libreria è fantastica. In una sola riga fa una richiesta http al link passato e la setta ad una imageview.

Spesso lo usata in una listview come nel tuo caso

Offline leolivio

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer
  • Sistema operativo:
    Ubuntu
Re:ListView con imageview
« Risposta #4 il: 16 Novembre 2014, 16:22:29 CET »
0
Le Immagini le ho sul server www.miosito.it

le ricavo con queste isctruzioni
ImageView imageView = (ImageView) findViewById(R.id.locandina);
imageView.setImageDrawable(loadImageFromUrl(MioURL));
non ho ancora verificato il funzionamento comunche nel caso uso picasso

il problema e una volta ottenuta l'imageview come passarla alla listviev

per fare la put temp.put("img",  Integer.String(imageView));

o bisogno di convertire la mia imageview in integer o string

visto che la temp e
HashMap<String, String> temp = new HashMap<String, String>();

Offline tonno16

  • Utente storico
  • *****
  • Post: 1169
  • Respect: +56
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:ListView con imageview
« Risposta #5 il: 16 Novembre 2014, 16:28:39 CET »
0
quel sito è veramente tuo? :)

Mi spiego meglio. mettiamo che tu hai delle foto raggiungibili col seguente indirizzo: http://wp-up.s3.amazonaws.com/aw/2010/04/programmazione-anddev.jpg

Basta che scarichi il jar da qui: Picasso

E scrivi tale codice: Picasso.with(context).load("http://wp-up.s3.amazonaws.com/aw/2010/04/programmazione-anddev.jpg").into(imageView);

Ovviamente imageView sarà la tua imageView che gestisci dentro il tuo custom Adapter.

Non capisco dove sia il problema e perchè convertire immagini in stringhe

Offline leolivio

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer
  • Sistema operativo:
    Ubuntu
Re:ListView con imageview
« Risposta #6 il: 16 Novembre 2014, 16:55:46 CET »
0
ok grazie

ma non so come assegnare il risultato imageviev alla listviev

final SimpleAdapter adapter_film = new SimpleAdapter(
                this,
                list,
                R.layout.custom_row_view,
                new String[] {"locandina","Titolo Film","Regia","Genere"},
                new int[] {R.id.locandina,R.id.text1,R.id.text2, R.id.text3}

        );

setListAdapter(adapter_film);

io per i dati text uso questa

temp.put("img",  Integer.String(imageView)); da errore
temp.put("Titolo Film", pii.getProperty(0).toString());
temp.put("Regia", pii.getProperty(1).toString());
temp.put("Genere", pii.getProperty(2).toString());
list.add(temp);

puoi farmi un esempio



Offline tonno16

  • Utente storico
  • *****
  • Post: 1169
  • Respect: +56
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:ListView con imageview
« Risposta #7 il: 16 Novembre 2014, 16:59:04 CET »
0
Io non so tutto su android. Ma nemmeno niente Ti sto dando un consiglio. Il mio consiglio è di usare una cosa semplice semplice, una riga di testo e ottiene la tua bella imageview.
Potresti provare invece di continuare a propormi la stessa risposta e chiedendo perchè non funziona.

Se hai la tua lista che visualizza per ogni riga una foto e una scritta (quindi due elementi), devi necessariamente scrivere una tua classe MioAdapter che estende la classe ArrayAdapter.

Il forum credo abbia due guide. Ce un tutorial dove come base propone una lista di persone (con nome cognome e altro)

Offline leolivio

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer
  • Sistema operativo:
    Ubuntu
Re:ListView con imageview
« Risposta #8 il: 16 Novembre 2014, 19:17:43 CET »
0
Grazie faro cosi ;-)

Offline leolivio

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer
  • Sistema operativo:
    Ubuntu
Re:ListView con imageview
« Risposta #9 il: 18 Novembre 2014, 22:53:00 CET »
0
vorrei aggiungere

se possibile usando la libreria picasso le mie istruzioni sono queste

Codice (Java): [Seleziona]
ImageView image=null;
Context context = getApplicationContext();
Picasso.with(context).load("http://www.miosito.it/image.jpg").into(image);

mi ritorna questo errore
Target must not be null.

grazie per un idea

Offline tonno16

  • Utente storico
  • *****
  • Post: 1169
  • Respect: +56
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:ListView con imageview
« Risposta #10 il: 18 Novembre 2014, 22:56:07 CET »
0
Imageview è nulla. Nel adapter o activity dovrai fare un finVindViewById().

E comunque picasso USA un imageview custom

Offline leolivio

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer
  • Sistema operativo:
    Ubuntu
Re:ListView con imageview
« Risposta #11 il: 18 Novembre 2014, 23:30:39 CET »
0
puoi scrivermi due righe di esempio

Offline tonno16

  • Utente storico
  • *****
  • Post: 1169
  • Respect: +56
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:ListView con imageview
« Risposta #12 il: 18 Novembre 2014, 23:35:45 CET »
0
ImageView in = (ImageView) findViewById(R.id.imageview1)

Picasso.width.... Come hai scritto inserendo imageview1 come parametro finale

Offline leolivio

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer
  • Sistema operativo:
    Ubuntu
Re:ListView con imageview
« Risposta #13 il: 18 Novembre 2014, 23:59:54 CET »
0
image ho visto da debug e sempre null


Codice (Java): [Seleziona]
ImageView image = (ImageView) findViewById(R.id.locandina);
Picasso.with(context).load("pii.getProperty(1).toString()").into(image);

R.id.locandina e la definizione della listview

<ImageView android:id="@+id/locandina"

Offline tonno16

  • Utente storico
  • *****
  • Post: 1169
  • Respect: +56
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:ListView con imageview
« Risposta #14 il: 19 Novembre 2014, 00:07:05 CET »
0
Pensò che dovresti studiarti un attimino le view. Perché non hai idea di cosa stai facendo.

Metti un imageview nel layout principale. Ora inizializza lo con il codice che ho messo io. Metti nel manifest i permessi per internet. Ora dovresti avere caricato un immagine da internet su quella imageview.

Quello che hai fatto te equivale a inizializzare un imageview facendo un cast a ListView a partire da una listView. E ovviamente da errore.