如何从 Android 中的资产加载图像列表?

how to load a list of images from assets in Android?

private void changePicture(int stageIndex){

    try{

        iv=(ImageView) findViewById(R.id.imageView2);
        Picture picture=new Picture();
        String v =picture.getPicFileName();
        InputStream ims = getAssets().open(v);
        Drawable d = Drawable.createFromStream(ims, null);
        iv.setImageDrawable(d);
        }catch(IOException ex){
           return;
        }       
}

我想从 /asset 文件夹加载图像列表,所以我写了这个函数,但它不起作用。有人可以帮助我吗?

如果你的图片存放在assets目录下的image文件夹中,那么列表可以显示如下

private List<String> getImage(Context context) throws IOException
{
  AssetManager assetManager = context.getAssets();
  String[] files = assetManager.list("image");  
  List<String> it=Arrays.asList(files);
  return it;
} 
Bitmap bm;
bm = getBitmapFromAsset("images" + File.separator + image.trim());
System.out.println("bmh==>"+bm.getHeight()+" "+"bmw==>"+bm.getWidth());
imageView.setImageBitmap(bm);


 /**
 * Retrieves Bitmap from Asset
 * @param strName
 * @return
 * @throws IOException
 */
    private Bitmap getBitmapFromAsset(String strName) throws IOException {
        AssetManager assetManager = getAssets();
        InputStream istr = assetManager.open(strName);
        Bitmap bitmap = BitmapFactory.decodeStream(istr);
        istr.close();
        return bitmap;
    }

在循环中尝试上面的代码,并将所有位图保存在位图数组或数组列表中。

注意:在资产文件夹中创建文件夹 images,并将所有图像存储在该文件夹中。

image: 是图片的名称。