Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Convertire una stringa contenente una Resource (R.drawable.*) in un int

    Ho estratto da un database alcune stringe come: "R.drawable.img1" "R.drawable.img2" ecc.
    Adesso io vorrei creare alcune imageview con queste Resource, ma non riesco poiché il metodo setImageResource accetta soltanto int come parametri. Ho provato le soluzioni più disparate del tipo:
    codice:
    photoView.setImageResource(Integer.parseInt("R.drawable.img1"));
    che comunque produce un NumberFormatException.
    Non ho assolutamente idea di come risolvere questo problema, qualcuno può aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Convertire una stringa contenente una Resource (R.drawable.*) in un int

    Originariamente inviato da crissstian96
    codice:
    photoView.setImageResource(Integer.parseInt("R.drawable.img1"));
    che comunque produce un NumberFormatException.
    Ovviamente, visto che il contenuto della stringa non è un numero intero.

    Premetto che ne so poco di Android però .... innanzitutto quel "R" è una classe ... quella della tua applicazione? Allora è sicuramente in un package. Senza una qualificazione completa la stringa comunque, in ogni caso, non ha senso. Pur sapendo/mettendo il package, quella stringa non sarebbe utile nemmeno per l'uso con la reflection.

    So che in Android esiste getIdentifier ma richiede parametri ben precisi. Se avessi il nome nella forma "package:type/entry" allora non avresti problemi.

    Di più, onestamente, non so dirti.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.