如何将所有图像从ArrayList <string>设置为imageViews

时间:2019-03-18 13:08:26

标签: java android

我已使用Pix库从图库中选择了图像,现在我需要将这些base64转换后的图像设置为图像视图,它可以工作,但是当我选择单个图像时,应用程序崩溃了,

 if (encodedImageList != null) {
        //first image
        byte[] decodedString = Base64.decode(encodedImageList.get(0), Base64.DEFAULT);
        Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
        imageView1.setImageBitmap(decodedByte);
    }

    if (encodedImageList.get(1) != null) {

        //2nd image
        byte[] decodedString2 = Base64.decode(encodedImageList.get(1), Base64.DEFAULT);
        Bitmap decodedByte2 = BitmapFactory.decodeByteArray(decodedString2, 0, decodedString2.length);
        imageView2.setImageBitmap(decodedByte2);
    }
 if (encodedImageList.get(2) != null) {

        //3rd image
        byte[] decodedString3 = Base64.decode(encodedImageList.get(2), Base64.DEFAULT);
        Bitmap decodedByte3 = BitmapFactory.decodeByteArray(decodedString3, 0, decodedString3.length);
        imageView3.setImageBitmap(decodedByte3);
    }

2 个答案:

答案 0 :(得分:1)

将图像加载到内存中非常危险,因为或内存不足。最好的方法是使用 Glide / Picasso 之类的图像将图像加载到ImageView中。

答案 1 :(得分:0)

根据您的列表users - data.... - followers(number) 动态创建ImageView,并将所有引用存储在数组imageViews中,并以此替换逻辑。

encodedImageList

希望有帮助