Java 字节[]元';不解析图像
我的listview有一个自定义适配器,该适配器将填充一个自定义rowItem类的ArrayList,我将数据放在其中Java 字节[]元';不解析图像,java,android,image,bytearray,Java,Android,Image,Bytearray,我的listview有一个自定义适配器,该适配器将填充一个自定义rowItem类的ArrayList,我将数据放在其中 rowItem.getImage()将返回此字节数组: 我将长字符串放在byte[]变量的getBytes() 现在我有了这个代码: byte[] imageData = rowItem.getImage(); Drawable logoDrawable = null; if (imageData != null) { Bitmap lo
rowItem.getImage()
将返回此字节数组:
我将长字符串放在byte[]
变量的getBytes()
现在我有了这个代码:
byte[] imageData = rowItem.getImage();
Drawable logoDrawable = null;
if (imageData != null) {
Bitmap logoBitmap = BitmapFactory.decodeByteArray(imageData, 0,
imageData.length);
logoDrawable = new BitmapDrawable(context.getResources(), logoBitmap);
}
holder.imageView.setImageDrawable(logoDrawable);
但它不会显示图像,如果我从可绘制的地图中设置图像,它将显示,以便重新定义imageview。数据看起来像base64编码的二进制数据。它首先将解码后的数据传递给
BitmapFactory
您显示的不是字节数组,而是文本,它看起来非常像base64数据
您应该首先尝试“原始”字节:
byte[] imageData = Base64.decode(rowItem.getImage(), Base64.DEFAULT);
。。。或者,无论您从何处获得行项目
,都可以进行修复,以便为您执行base64解码
byte[] imageData = Base64.decode(rowItem.getImage(), Base64.DEFAULT);