0
public static Bitmap loadBitmap(Context context, String filename){
        AssetManager assets = context.getResources().getAssets();
        InputStream buf = null;
        try {
            buf = new BufferedInputStream((assets.open("drawable/black_circle.png")));
        } catch (IOException e) {
            e.printStackTrace();
        }
        Bitmap bitmap = BitmapFactory.decodeStream(buf);
        return bitmap;
    }

当我使用系统上面的代码时,会出现以下错误

09-27 12:33:44.470: W/System.err(18554): java.io.FileNotFoundException: drawable/black_circle.png
09-27 12:33:44.470: W/System.err(18554):    at android.content.res.AssetManager.openAsset(Native Method)
09-27 12:33:44.470: W/System.err(18554):    at android.content.res.AssetManager.open(AssetManager.java:315)
09-27 12:33:44.470: W/System.err(18554):    at android.content.res.AssetManager.open(AssetManager.java:289)

我正在通过 Eclipse 在三星 Galaxy 上运行代码。如何使这项工作?

我需要动态更改文件名。

4

4 回答 4

2

试试这种方式:

int image_id = getResources().getIdentifier("imagename", "drawable", getPackageName());

image.setBackgroundResource(image_id);
于 2012-09-27T10:15:04.060 回答
1

在drawable文件夹下打开图像:

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.black_circle);
于 2012-09-27T09:41:20.303 回答
0

试试这个。

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.addto);

如果你想从可绘制图像创建位图,那么你可以使用它。

于 2012-09-27T09:41:58.553 回答
0

你可以试试 :

InputStream is = (InputStream) context.getResources().openRawResource(R.drawable.black_circle);
于 2012-09-27T09:42:02.373 回答