Autore Topic: ListView personalizzata con immagine e testo  (Letto 440 volte)

Offline moskino11

  • Utente normale
  • ***
  • Post: 179
  • Respect: 0
    • Mostra profilo
ListView personalizzata con immagine e testo
« il: 18 Maggio 2015, 17:16:40 CEST »
0
Ciao amici, vorrei imparare una volta per tutte come si crea una listview personalizzata, composta da immagine(statica ) e te testo(parsato).
Per il momento utilizzo una semplice listview in cui ho una lista di stringhe prelevate da internet e tutto funziona correttamente, ma vorrei aggiungere anche una immagine . Mi potete aiutare nel realizzare questa cosa perfavore?

Post unito: 18 Maggio 2015, 20:02:48 CEST
In pratica vorrei creare una listView personalizzata contenente per ogni riga un immagine(la quale sarà uguale per tutte le righe e che è statica) +  il testo passato da internet che già avevo.
Da un tutorial trovato su questo sito ho capito che come prima cosa devo creare un layout per la singola riga, e nel mio caso all'interno di questo layout devo mettere un'mmagine e una textView.

La mia prima domanda è la seguente: in questo layout già posso mettere l'immagine che voglio visualizzare nella mia lista??Oppure devo limitarmi a predisporre solo l'imageView?

Poi , devo creare la classe che implementa la mia riga la quale avrà nel costruttore due parametri: String testo, ?
La mia immagine che metto nel secondo parametro è un int?

Vorrei risolvere questi dubbi prima di andare avanti. Spero mi aiuterai
Grazie in anticipo!!
« Ultima modifica: 18 Maggio 2015, 20:02:48 CEST da moskino11, Reason: Merged DoublePost »

Offline LonelyWolf

  • Utente junior
  • **
  • Post: 148
  • Respect: +12
    • Mostra profilo
    • Traversate dei laghi
  • Dispositivo Android:
    GT-I9505, ALE-L21
  • Sistema operativo:
    Windows 7 32/64
Re:ListView personalizzata con immagine e testo
« Risposta #1 il: 19 Maggio 2015, 09:09:18 CEST »
+1
Devi creare un layout personalizzato per la riga della listview contenente quello che ti serve, in questo caso una imageview e una textview.
Poi crei l'adapter che prende i dati e li inserisce nel suddetto layout, infine associ l'adapter alla listview.

E' più lungo a dirsi che a farsi!

Ecco una guida di base, proprio su questo forum: [medio] ListView con layout personalizzato tramite un SimpleAdapter - Android Developers Italia
Se la mia risposta ti è utile, per favore un thanks!

Offline moskino11

  • Utente normale
  • ***
  • Post: 179
  • Respect: 0
    • Mostra profilo
Re:ListView personalizzata con immagine e testo
« Risposta #2 il: 19 Maggio 2015, 13:01:26 CEST »
0
Devi creare un layout personalizzato per la riga della listview contenente quello che ti serve, in questo caso una imageview e una textview.
Poi crei l'adapter che prende i dati e li inserisce nel suddetto layout, infine associ l'adapter alla listview.

E' più lungo a dirsi che a farsi!

Ecco una guida di base, proprio su questo forum: [medio] ListView con layout personalizzato tramite un SimpleAdapter - Android Developers Italia

Allora ho creato la mia classe e il layout della riga, ti posto il codice

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="60dip"
   android:padding="5dip"
   android:background="#000000"
   >

    <ImageView
       android:id="@+id/rigaImage"
       android:layout_width="50dip"
       android:layout_height="50dip">
    </ImageView>

    <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:textAppearance="?android:attr/textAppearanceLarge"
       android:text="Large Text"
       android:id="@+id/textView"
       android:layout_centerVertical="true"
       android:layout_toRightOf="@+id/rigaImage"
       android:layout_toEndOf="@+id/rigaImage"
       android:textColor="#FFFFFF"/>

</RelativeLayout>


Codice (Java): [Seleziona]
public class ContenutoRiga {

    private int immagine;
    private String testo;

    public ContenutoRiga(int immagine, String testo)
    {
        super();
        this.immagine = immagine;
        this.testo = testo;
    }

    public int getImmagine()
    {
        return immagine;
    }

    public String getTesto()
    {
        return testo;
    }
}

Ora devo creare l'adapter e questa cosa non l'ho capita bene come fare, mi aiuteresti per piacere?
Ti ricordi che per quanto riguarda l'immagine, è statica(quindi la salva all'interno del progetto) ed è uguale in tutte le righe. Il testo invece è dinamico ed è contenuto in un'altra classe in un ArrayList e si chiama  ArrayList<String> titoli;

Post unito: 19 Maggio 2015, 15:08:35 CEST
Nalla classe dove ho il riempimento della mia listview "normale" utilizzo
Codice (Java): [Seleziona]
ArrayList<String> titoli;per memorizzare i miei dati(parsati da internet ) e li aggiungo attraverso il metodo
Codice (Java): [Seleziona]
titoli.add( bla bla bla)
Ma se voglio creare l'adapter e richiamare la struttura definita dalla classe ContenutoRiga, come dovrei fare??
« Ultima modifica: 19 Maggio 2015, 15:08:35 CEST da moskino11, Reason: Merged DoublePost »