2010-07-07 11 views
5

en mi solicitud .... hay algunas imágenes como temp1.jpg, temp2.jpg ..... temp35.jpg hasta,Cargar imágenes en ImageView en Android

así sucesivamente botón de clic, quiero carga de una en una imagen en ImageView .... i quiero hacer como:

cnt = 1;
imagename = "temp" + cnt + ".jpg";
cnt ++;

así que mi confusión es que "de todos modos hay que cargar una imagen en la vista de la imagen desde una cadena (variable de nombre de imagen) como temp1.jpg, etc."

Respuesta

3

he implementado por debajo de solución y que está funcionando para mí:

while(cnt!=n) 
{ 
String icon="temp" + cnt; 
int resID = 
getResources().getIdentifier(icon,"drawable","testing.Image_Demo"); 
imageView.setImageResource(resID); 
cnt++; 
} 
1

No sé si esta es la mejor solución pero puede hacer una Hashtable que asigne los nombres de las imágenes a los recursos.

Hashtable map; 
map.put("temp1", R.drawable.temp1) // assuming temp1.jpg is in /drawable 

y luego puede cargar el ImageView desde un drawable.

String imageName = "temp" + n; 
Drawable d = getResources().getDrawable((int)map[imageName]); 
ImageView i = new ImageView(this); 
i.setImageResource(d); 
+0

Eso significa que necesita para editar la tabla hash cada vez que se agrega una nueva imagen ... – xil3

+0

Es por eso que escribí que no es la mejor solución. Aunque, puede usar Reflections para leer los campos públicos y cargar el hashmap automáticamente. Ahora que lo pienso, puedes usar Reflections para obtener el id y olvidarte del mapa. – Itsik

4

Usted podría intentar esto:

int cnt = 1; 
//Bitmap bitmap = BitmapFactory.decodeFile("temp" + cnt + ".jpg"); 
int imageResource = getResources().getIdentifier("drawable/temp" + cnt + ".jpg", null, getPackageName()); 
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), imageResource); 
imageView.setImageBitmap(bitmap); 
cnt++; 

la esperanza de que es lo que estaba buscando.

+0

Lo sentimos ... no funciona ... la vista de la imagen está disponible solo con la pantalla en blanco ... no con la imagen –

+0

¿Seguro que está proporcionando la ruta correcta a la imagen? ¿Las imágenes están en la tarjeta sd? – xil3

+0

¿También puede publicar su ImageView (el xml o si lo declara programáticamente)? – xil3

2

Por qué no algo así como

File f = new File(PathToFiles + "/temp" + cnt + ".jpg"); 
if (f.exists()) { 
    Drawable d = Drawable.createFromPath(f); 
    imageview.setImageDrawable(d); 
} 
+0

gracias por la respuesta .... –

Cuestiones relacionadas