Autore Topic: Cambiare Immagine Di Una ImageView Con Una Stringa  (Letto 399 volte)

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Cambiare Immagine Di Una ImageView Con Una Stringa
« il: 03 Dicembre 2014, 16:00:02 CET »
0
Salve a tutti!!

Ho scoperto(recentemente) che per cambiare l'immagine di background di una ImageView da codice basta usare:
Codice (Java): [Seleziona]
foto.setImageResource(R.drawable.Immagine);
La cosa che però volevo sapere era se sia possibile al posto di usare "Immagine" usare una stringa....
Mi spiego meglio....

La mia app ha una listView con (naturalmente) più opzioni... quando clicco su una di queste opzioni si avvia l'intent con "allegato" un nome e nella nuova "pagina" verrà caricata l'immagine che ha come titolo lo stesso identico nome dell'allegato che ho inviato.
Io posso utilizzare il nome che ho inviato come riferimento per l'immagine invece di stare li a scrivere un if per ogni voce della ListView?

Spero di essere stato abbastanza chiaro

Grazie mille in anticipo^^

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Cambiare Immagine Di Una ImageView Con Una Stringa
« Risposta #2 il: 03 Dicembre 2014, 16:47:11 CET »
0
Ma in questo modo non ho comunque da fare uno "snippet" per ogni risorsa?

perché io ho tipo 16 immagini diverse (al momento 16 if):
Codice (Java): [Seleziona]
if(Nome.equals("Il capriolo")){
            foto.setImageResource(R.drawable.capriolo);
        }
        if(Nome.equals("Chalet Pineta")){
            foto.setImageResource(R.drawable.pineta);
        }
        if(Nome.equals("Trattoria Corradi")){
            foto.setImageResource(R.drawable.corradi);
        }
        if(Nome.equals("Agriturismo La Piana dei Sambuchi")){
            foto.setImageResource(R.drawable.sambuchi);
        }
        if(Nome.equals("Trattoria Mazzini")){
            foto.setImageResource(R.drawable.mazzini);
        }
        if(Nome.equals("Trattoria Tarasconi")){
            foto.setImageResource(R.drawable.tarasconi);
        }
        if(Nome.equals("Locanda Sport")){
            foto.setImageResource(R.drawable.sport);
        }
        if(Nome.equals("Bar Trattoria da Poldo")){
            foto.setImageResource(R.drawable.poldo);
        }
        if(Nome.equals("Ristorante Pizzeria La Cava")){
            foto.setImageResource(R.drawable.cava);
        }
        if(Nome.equals("Trattoria La Pieve")){
            foto.setImageResource(R.drawable.pieve);
        }
        if(Nome.equals("Trattoria Pizzeria La Corte")){
            foto.setImageResource(R.drawable.corte);
        }
        if(Nome.equals("Tana del Luppolo")){
            foto.setImageResource(R.drawable.luppolo);
        }
        if(Nome.equals("Ristorante del Parco Monte Fuso")){
            foto.setImageResource(R.drawable.risparcofuso);
        }
        if(Nome.equals("Agriturismo Da Redeo")){
            foto.setImageResource(R.drawable.redeo);
        }
        if(Nome.equals("Agriturismo Airone Blu")){
            foto.setImageResource(R.drawable.airone);
        }
        if(Nome.equals("Il Filare")){
            //foto.setImageResource(R.drawable.filare);
        }

non posso fare tutto con un colpo solo?

Post unito: 03 Dicembre 2014, 16:53:37 CET
ah no ok, sono io che non ci ho pensato subito xD

alla fine basta fare così giusto?

Codice (Java): [Seleziona]
int imgId=getResources().getIdentifier(Nome,"drawable",getPackageName());
« Ultima modifica: 03 Dicembre 2014, 16:53:37 CET da ValerioAdo, Reason: Merged DoublePost »

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Cambiare Immagine Di Una ImageView Con Una Stringa
« Risposta #3 il: 03 Dicembre 2014, 20:58:37 CET »
0
Eh si... Basta che il nome rispetti il nome della risorsa

Inviato dal mio Nexus 4 utilizzando Tapatalk

IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia