Impostazione delle immagini Android dal valore della string

Attualmente sto traendo un'image PNG nella mia applicazione Android così:

ImageView image = new ImageView(context); image.setImageDrawable(context.getResources().getDrawable(R.drawable.testimage)) 

Se ho un elenco di nomi di immagini in un database, c'è un modo per impostare il disegni sopra utilizzando il nome dell'image? Ho già il codice per passare attraverso il database, sto solo cercando di disegnare l'image in base al valore preso da qui.

  • Come rilevare l'object fisico in Android Realizzato aumentato?
  • ActivityCompat.requestPermissions che non visualizza la window di dialogo
  • Qual è lo scopo di `convertView` nella scheda ListView?
  • Gli annunci Mopub non vengono mostrati
  • Android OnLongClickListener non spara su MapView
  • DataPicker si blocca in samsung con android 5.0
  • Ad esempio, un record per il DB:

     ID: Name: ImageName: - Test testimage 

    Quindi, quando sto leggendo questo record, ho una string con il valore di "test" e quindi vorrei impostare l'image R.drawable.testimage su R.drawable.testimage .

    Un modo in cui pensavo di farlo sarebbe qualcosa di simile:

     int image = R.drawable.blank; // blank image // testimage.png is the image name from the database if(imageName.toString().equals("testimage.png")) image = R.drawable.testimage; else if(imageName.toString().equals("another.png")) image = R.drawable.another; else if(imageName.toString().equals("etc.png")) image = R.drawable.etc; 

    Tuttavia questo non è molto efficiente!

    Grazie

  • Come aggiornare l'elenco di liste di Android?
  • il valore di un parametro della string di query non può contenere un delimitatore '='
  • Comunicazione NFC di Android con Mifare DESFire EV1
  • ritardo android usando il gestore
  • Android - unisce più immagini in un ImageView
  • inserire image sqlite
  • 4 Solutions collect form web for “Impostazione delle immagini Android dal valore della string”

    C'è un metodo per farlo, puoi recuperare gli ID di risorsa per string utilizzando Resources.getIdentifier () http://developer.android.com/reference/android/content/res/Resources.html

    Qualcosa di simile a:

     int resourceId = Activity.getResources().getIdentifier("testimage", "drawable", "your.package.name"); 

    Sto usando:

     int resId = getResources().getIdentifier("testimage", "drawable", getPackageName()); image.setImageResource(resId); 

    "prova" – corrisponde ad esempio a testimage.jpg, vale a dire non includere ".jpg"

    "disegnabile" – è il tipo di risorsa, come in: @ drawable / test

    Controllare Resources.getIdentifier (…)

    Metti le immagini nelle risorse / cartella e si apre

     image.setImageURI("file:///android_asset/" + nameFromDB); 

    String path = "sdcard / camera_app / nome.jpg"; img.setImageDrawable (Drawable.createFromPath (path));

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.