Android 在不同的ImageView中加载多个位图,但最后一个位图设置为“所有ImageView”

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

我从图库获取最多5张图像。在OnActivityResult中,我调用了一个方法来创建每个图像的缩略图。成功获取每个缩略图文件后,我将缩略图转换为位图,并将其设置为ImageView。对于这个例子,我使用了SWITCH case来确定应该在哪个imageID上设置相应的图像(位图)

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可能有问题。尝试直接将图像设置为缩略图。