2

我想从存储在 sdcard 上的图像中将背景图像放入可能的 java 文件中。我使用下面的代码但没有成功:/

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

一个想法 ?

4

1 回答 1

3

您无法从 SD 卡中获取文件作为资源。资源仅与 apk 捆绑在一起。您必须从 sdcard 上的文件创建一个可绘制对象并使用它:

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

您还必须请求访问 SD 卡的权限,在清单中添加:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
于 2010-08-30T12:39:59.040 回答