2011-10-30 17 views
14

Creo que me estoy acercando pero todavía obtengo errores de recursos con esto. Tengo un archivo de imagen llamado rock.png en las 3 carpetas dibujables.Carga dinámica de imágenes R.Dibujo usando la variable

en mi diseño Main.xml:

<ImageView android:id="@+id/rockId" android:src="@drawable/rock"></ImageView> 

En mi código:

  int resID = getResources().getIdentifier("rockId" , "id", "com.testing"); 
      ImageView image = (ImageView) findViewById(resID); 

Todavía estoy viendo esto en mi Catlog error:

10-30 17:36:24.485: WARN/ResourceType(74): Resources don't contain package for resource number 0x7f020000 

Alguna idea de ¿Qué podría estar haciendo mal? Algún consejo bienvenida

Respuesta

23

a encontrar el control:

ImageView image = (ImageView) findViewById(R.id.rockId); 

Para dynamicly cargar una imagen desde dibujable i utilizar esta función

public static int getDrawable(Context context, String name) 
    { 
     Assert.assertNotNull(context); 
     Assert.assertNotNull(name); 

     return context.getResources().getIdentifier(name, 
       "drawable", context.getPackageName()); 
    } 

esto devolverá el id de su estirable, ahora todo lo que necesita to a se establece la imagen en el control:

image.setImageResource(int Id); 
+1

¡Es una buena idea usar context.getPackageName()! –

+0

Gracias señor, esto funciona excelente – Hoofamon

+0

Gracias, hombre, funciona genial !! – mrid

Cuestiones relacionadas