我想在存储在SD卡上的图像中将背景图像放在may java文件中。 我使用下面的代码但没有成功:/
TableLayout tl=new TableLayout(this);
int tmp = this.getResources().getIdentifier("sdcard/pic.png", "drawable", getPackageName());
tl.setBackgroundResource(tmp);
一个想法?
答案 0 :(得分:3)
您无法从SD卡获取文件作为资源。资源仅与apk捆绑在一起。您必须从SD卡上的文件创建一个drawable并使用它:
tl.setBackgroundDrawable(Drawable.createFromPath(new File(Environment.getExternalStorageDirectory(), "pic.png").getAbsolutePath()));
此外,您必须要求获得访问SD卡的权限,请在清单中添加:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />