从适配器中的资产文件夹添加图像

Adding images from assets folder in adapter

我正在尝试显示资产文件夹中的图像。我有这个错误:

Bitmap bitmap = getBitmapFormatAssets(product.getProductId());

try { 位图 bitmap = getBitmap(product.getProductId()); imageView.setImageResource(位图);

一定是setImageBitmap(bitmap)不是setImageResource(bitmap)

尝试直接使用 imageView.setImageBitmap(bitmap) 而不是 imageView.setImageResource(bitmap)

当您想将位图图像设置为图像视图时,请不要使用 setImageResource(bitmap)

使用 setImageBitmap(bitmap)如下

setImageBitmap(bitmap) 设置一个 Bitmap 作为这个 ImageView 的内容。 像这样

imageView.setImageBitmap(bitmap)

使用以下代码从资产中获取位图

private Bitmap getBitmapFromAsset(String strName)
{
    AssetManager assetManager = getAssets();
    InputStream istr = null;
    try {
        istr = assetManager.open(strName);
    } catch (IOException e) {
        e.printStackTrace();
    }
    Bitmap bitmap = BitmapFactory.decodeStream(istr);
    return bitmap;
}

以下用于从资产文件夹中获取图像并将其设置为ImageView

// load image
try {
    // get input stream
    InputStream ims = getAssets().open("avatar.jpg");
    // load image as Drawable
    Drawable d = Drawable.createFromStream(ims, null);
    // set image to ImageView
    mImage.setImageDrawable(d);
}
catch(IOException ex) {
    return;
}