Вопрос

Я хочу поставить фоновое изображение в мае Java-файл из изображения, хранящегося на SDCard. Я использую код ниже, но без успеха: /

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

идея ?

Это было полезно?

Решение

Вы не можете получить файл с SD-карты в качестве ресурсов. Ресурсы объединены только с APK. Вы должны создать Drawable из файла на SDCard и использовать это:

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

Также вы должны запросить разрешение на доступ к SD-карте, добавить в манифесте:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top