Android 在不同的ImageView中加载多个位图,但最后一个位图设置为“所有ImageView”
我从图库获取最多5张图像。在OnActivityResult中,我调用了一个方法来创建每个图像的缩略图。成功获取每个缩略图文件后,我将缩略图转换为位图,并将其设置为ImageView。对于这个例子,我使用了SWITCH case来确定应该在哪个imageID上设置相应的图像(位图)Android 在不同的ImageView中加载多个位图,但最后一个位图设置为“所有ImageView”,android,bitmap,android-bitmap,Android,Bitmap,Android Bitmap,我从图库获取最多5张图像。在OnActivityResult中,我调用了一个方法来创建每个图像的缩略图。成功获取每个缩略图文件后,我将缩略图转换为位图,并将其设置为ImageView。对于这个例子,我使用了SWITCH case来确定应该在哪个imageID上设置相应的图像(位图) private void createThumbnail(File downloadedFile, int position) { File thumbnailFile = RepositoryUtils.g
private void createThumbnail(File downloadedFile, int position) {
File thumbnailFile = RepositoryUtils.getThumbnailFile(downloadedFile, mActivity);
switch (position) {
case 0:
Bitmap bitmap1 = BitmapFactory.decodeFile(thumbnailFile.getAbsolutePath());
ivImageFromGallery1.setImageBitmap(bitmap1);
break;
case 1:
Bitmap bitmap2 = BitmapFactory.decodeFile(thumbnailFile.getAbsolutePath());
ivImageFromGallery2.setImageBitmap(bitmap2);
break;
case 2:
Bitmap bitmap3 = BitmapFactory.decodeFile(thumbnailFile.getAbsolutePath());
ivImageFromGallery3.setImageBitmap(bitmap3);
break;
case 3:
Bitmap bitmap4 = BitmapFactory.decodeFile(thumbnailFile.getAbsolutePath());
ivImageFromGallery4.setImageBitmap(bitmap4);
break;
case 4:
Bitmap bitmap5 = BitmapFactory.decodeFile(thumbnailFile.getAbsolutePath());
ivImageFromGallery5.setImageBitmap(bitmap5);
break;
default:
break;
}
}
现在,无论用户从gallery中选择什么作为最后一个图像,所有imageview都将设置为最后一个图像
我在XML文件中拍摄了5个不同的ImageView
注意:我已成功选中,根据用户从gallery中选择的图像创建了5个不同的拇指文件和位图
任何帮助都将不胜感激。
谢谢 确保您下载的文件在所有情况下都不同。代码方面,我觉得一切正常。但我怀疑你收到的文件可能在所有5个案例中都是相同的,只是交叉检查!我反复核对收到的文件名,它们都不同。我认为问题可能是缓存位图。不必在所有ImageView中仅设置最后一个图像。这是缓存内存中的最后一个映像已全部设置。RepositoryUtils.getThumbnailFile可能有问题。尝试直接将图像设置为缩略图。