Autore Topic: Modifica HashMap  (Letto 642 volte)

Offline SimoneMugnaini

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Tattoo
  • Sistema operativo:
    Mac OS X 10.6 Snow Leopard
Modifica HashMap
« il: 25 Aprile 2011, 17:00:48 CEST »
0
Buongiorno,
avrei necessità di avere un'informazione.
Nel caso io avessi un ArrayList<HashMap<String, Object>>, avente la seguente struttura:
Codice: [Seleziona]
ArrayList{

  HashMap:
  {image->http://www.prova.it/prova1.jpg}
  {name->"nome1"}
  {surname->"cognome1"}
  ,

  HashMap:
  {image->http://www.prova.it/prova2.jpg}
  {name->"nome2"}
  {surname->"cognome2"}
  ,

  HashMap:
  ...

  ,

  HashMap:
  ...
}

E volessi catturare l'URI nel campo image e (dopo il download e la conversione in Drawable,che ho gia implementato) inserirlo nel campo image stesso al posto dell'indirizzo. Quale sarebbe la soluzione migliore?

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +203
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Modifica HashMap
« Risposta #1 il: 26 Aprile 2011, 10:33:32 CEST »
0
Prendi la hashmap che si trova in una determinata posizione dell'arraylist: developer.android.com/reference/java/util/ArrayList.html#get(int)
Nell'hashmap recuperato, sostiutisci la vecchia coppia chiave-valore, con la nuova coppia chiave-valore: developer.android.com/reference/java/util/HashMap.html#put(K, V)
« Ultima modifica: 26 Aprile 2011, 10:35:11 CEST da Qlimax »

Offline SimoneMugnaini

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Tattoo
  • Sistema operativo:
    Mac OS X 10.6 Snow Leopard
Re:Modifica HashMap
« Risposta #2 il: 26 Aprile 2011, 15:04:07 CEST »
0
Una cosa del tipo:

Codice (Java): [Seleziona]
protected ArrayList<HashMap<String, Object>> doInBackground(ArrayList<HashMap<String, Object>>... list) {
    String url;
    String key="image";
    for(int i=0;i<list.length;i++){
        if(list[i].getKey().equale(key))
            url = list[i].values();
        // TO-DO: ALGORITMO DI DOWNLOAD DELL'IMMAGINE E CONVERSIONE IN DRAWABLE
        list[i].put("image", d);
    }
    return list;
}
d = drawable contenente l'immagine

Possibile?
« Ultima modifica: 26 Aprile 2011, 15:06:37 CEST da SimoneMugnaini »