Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo reemplazar R.drawable. "SomeString"

Tengo algunas imágenes en mi proyecto. El nombre de la imagen se almacena en una cadena y me gustaría setImageResource (R.drawable. "….."); Con la cadena del nombre de la imagen, pero el problema es que esto no está funcionando.

¿Cómo puedo hacer esto?

  • ImageView src con el selector extraíble ignora el estado habilitado
  • Correspondencia entre las coordenadas de ImageView y Pixeles de mapa de bits - Android
  • Volley NetworkImageView - cómo reciclar mapas de bits?
  • Cambiar la fuente de ImageView
  • ¿Cuándo (si es que) debería usar Bitmap.recycle ()?
  • Cómo comprobar qué recurso de imagen actual se adjunta a ImageView en android xml?
  • ImageView rellena el ancho o altura de los padres, pero mantiene la relación de aspecto
  • Bitmap fuera de error de memoria en android ...
  • 6 Solutions collect form web for “Cómo reemplazar R.drawable. "SomeString"”

    Esto no es una sintaxis derecha, y usted debe conseguir error del tiempo del compilador, antes de alterar el recurso de la imagen usted debe saber que, todos los recursos proporcionaron una identificación, estos ids se almacenan en el archivo de R.java. Las identificaciones se almacenan en el formato de número entero y en su aplicación puede obtener todos estos recursos por estos id, no por nombre, por lo que necesita buscar id de recurso al principio, mediante:

    String mDrawableName = "myimg"; int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName()); 

    Y luego utilizar este resID.

    Utilizar

     getResources().getIdentifier("NAME_OF_IMAGE", "drawable", context.getPackageName()) 

    Vea este hilo . Debe ayudarle. Básicamente necesita obtener el identificador y luego cargar usando setImageResource .

    Public int getIdentifier (String name, String defType, String defPackage);

    Nombre – nombre de la imagen
    DefType – se puede dibujar para su caso
    DefPackage – paquete predeterminado de tu aplicación (creo que puedes usar getPackage () en la actividad para esto)

    prueba esto

      String uri = "NAME"; // int imageResource = R.drawable.icon; int imageResource = getResources().getIdentifier(uri, null, getPackageName()); ImageView imageView = (ImageView) findViewById(R.id.myImageView); Drawable image = getResources().getDrawable(imageResource); imageView.setImageDrawable(image); 

    Lo conseguí trabajando moviendo la imagen de 'drawable' a 'raw' carpeta y acceder al valor de la cadena como a continuación. Si no tiene carpeta 'raw' en el directorio 'res', haga clic derecho en res-> new-> directorio de recursos de Android y debajo de la lista desplegable de resourcetype, seleccione 'raw'.

      String avatar = ("android.resource://" + "yourPackageName/" + String.valueOf(R.raw.robot_blue)); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.