You are on page 1of 2

cambiar imagenview en tiempo de ejecucin [Archivos] - HTCMania http://www.htcmania.com/archive/index.php/t-356917.

html

HTCMania > Todo sobre Android > Programacin y Desarrollo para Android > cambiar imagenview en tiempo de ejecucin
PDA
Ver la Versin Completa : cambiar imagenview en tiempo de ejecucin

Capitan Kirk 28/03/12, 20:40:31


Tengo una imagen definida en el xml como:

<ImageView
android:id="@+id/icono"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/perro"
/>

y funciona perfectamente, muestra la imagen "perro" que se encuentra en la carpeta "drawable".

Pero, como la modifico en tiempo de ejecucin mediante java?

lo he intentado con:

ImageView imagen = (ImageView) findViewById(R.id.icono);


imagen.setImageBitmap ("@drawable/"+parametro);

la variable "parametro" contiene el valor "perro"

pero da error, me dice "The method setImageBitmap(Bitmap) in the type ImageView is not applicable for the arguments (String)"

entonces, como lo hara?

kriogeN 28/03/12, 23:36:12


Para obtener el R.drawable.XXXX por su nombre a partir de un string necesitas hacer esto:

int res_imagen = context.getResources().getIdentifier("drawable/" + nombreImagen, null, context.getPackageName());

Y para asginarla:

imagen.setImageResource(res_imagen);

Capitan Kirk 29/03/12, 18:11:22


Hola kriogeN gracias por responder.

el caso es que no me termina de funcionar tu ejemplo, en la linea:

int res_imagen = context.getResources().getIdentifier("drawable/" + nombreImagen, null, context.getPackageName());

1 de 2 27/07/2014 21:20
cambiar imagenview en tiempo de ejecucin [Archivos] - HTCMania http://www.htcmania.com/archive/index.php/t-356917.html

me da el error:

"Multiple markers at this line


- context cannot be resolved
- context cannot be resolved"

adems de marcarme en rojo los 2 "context"

ya prov a aadir un: "import android.content.Context;" pero nada, el error sigue saliendo.
Si me puedes ayudar te lo agradecera.

kriogeN 29/03/12, 21:38:38


Prueba con el nombre de tu Activity.this en lugar de context.

Es decir, si tu Activity se llama CambiaImagen en lugar de "context" pon "CambiaImagen.this"

Capitan Kirk 30/03/12, 12:36:33


Si, asi funciona, muchas gracias, me has ayudado mucho.

vBulletin v3.8.1, Copyright 2000-2014, Jelsoft Enterprises Ltd.

2 de 2 27/07/2014 21:20

You might also like