Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 28/03/12, 20:40:31
Array

[xs_avatar]
Capitan Kirk Capitan Kirk no está en línea
Usuario novato en la web
 
Fecha de registro: mar 2012
Mensajes: 28
Modelo de smartphone: samsung galaxy sii
Tu operador: Movistar
cambiar imagenview en tiempo de ejecución

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 ejecución 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 haría?
Responder Con Cita


  #2  
Viejo 28/03/12, 23:36:12
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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);
Responder Con Cita
  #3  
Viejo 29/03/12, 18:11:22
Array

[xs_avatar]
Capitan Kirk Capitan Kirk no está en línea
Usuario novato en la web
 
Fecha de registro: mar 2012
Mensajes: 28
Modelo de smartphone: samsung galaxy sii
Tu operador: Movistar
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());

me da el error:

"Multiple markers at this line
- context cannot be resolved
- context cannot be resolved"

además de marcarme en rojo los 2 "context"

ya prové a añadir un: "import android.content.Context;" pero nada, el error sigue saliendo.
Si me puedes ayudar te lo agradecería.
Responder Con Cita
  #4  
Viejo 29/03/12, 21:38:38
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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"
Responder Con Cita
  #5  
Viejo 30/03/12, 12:36:33
Array

[xs_avatar]
Capitan Kirk Capitan Kirk no está en línea
Usuario novato en la web
 
Fecha de registro: mar 2012
Mensajes: 28
Modelo de smartphone: samsung galaxy sii
Tu operador: Movistar
Si, asi funciona, muchas gracias, me has ayudado mucho.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 06:01:57 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /