2010-08-30 17 views
2

Je veux mettre une image d'arrière-plan dans le fichier java mai à partir d'une image stockée sur la carte SD. J'utilise le code ci-dessous, mais sans succès:/Fond de TableLayout de sdcard

 TableLayout tl=new TableLayout(this); 
     int tmp = this.getResources().getIdentifier("sdcard/pic.png", "drawable", getPackageName()); 
     tl.setBackgroundResource(tmp); 

une idée?

Répondre

3

Vous ne pouvez pas obtenir de fichier de la carte SD en tant que ressources. Les ressources sont regroupées avec apk uniquement. Vous devez créer un drawable à partir d'un fichier sur carte SD et l'utiliser:

tl.setBackgroundDrawable(Drawable.createFromPath(new File(Environment.getExternalStorageDirectory(), "pic.png").getAbsolutePath())); 

Aussi, vous devez demander la permission d'accéder à la carte SD, ajouter au manifeste:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

fonctionne très bien, merci:) – Pachanka