Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用通用图像加载程序时,notifyDataSetChanged()上的Listview闪烁_Android_Universal Image Loader - Fatal编程技术网

Android 使用通用图像加载程序时,notifyDataSetChanged()上的Listview闪烁

Android 使用通用图像加载程序时,notifyDataSetChanged()上的Listview闪烁,android,universal-image-loader,Android,Universal Image Loader,我面临的问题与下面的链接中提到的相同: 我已经检查了上面链接中的解决方案,下面给出的解决方案似乎正在解决问题: ImageAware imageAware = new ImageViewAware(imageView, false); imageLoader.displayImage(imageUri, imageAware); 但是如果我在上面的代码中将选项传递给displayImage()方法,同样的闪烁问题也会发生。这意味着,以下代码导致问题: ImageAware imageAwar

我面临的问题与下面的链接中提到的相同:

我已经检查了上面链接中的解决方案,下面给出的解决方案似乎正在解决问题:

ImageAware imageAware = new ImageViewAware(imageView, false);
imageLoader.displayImage(imageUri, imageAware);
但是如果我在上面的代码中将选项传递给
displayImage
()方法,同样的闪烁问题也会发生。这意味着,以下代码导致问题:

ImageAware imageAware = new ImageViewAware(imageView, false);
imageLoader.displayImage(imageUri, imageAware,options);
当我将“选项”传递给
displayImage()
方法时,如何停止闪烁问题

下面是我传递给方法的选项:

options = new DisplayImageOptions.Builder().showImageForEmptyUri(R.drawable.empty).showImageOnLoading(R.drawable,loading).showImageOnFail(R.drawable.failed).cacheOnDisc(true).bitmapConfig(Bitmap.Config.RGB_565).imageScaleType(ImageScaleType.IN_SAMPLE_INT).build();

解决方案是在图像未更改时不重新加载图像

在适配器getView()中,执行以下操作:


成功时(添加ImageLoadingListener),您将holder.lastImageUrl=path设置为空;失败时取消,您将holder.lastImageUrl设置为空,以便下次重新加载。

:我也面临同样的问题。想要解决它吗。如果你有什么解决办法,请和我们一起剪。@Jigs:我用毕加索替换了那个图书馆,它没有这样的问题。这里是链接:我可以使用带有unioversal图像加载器的毕加索libs吗?或者我必须按照链接建议修改我的代码???@Jigs:如果你修改它会更好。我已经完全删除了universal image loader,现在只使用毕加索。我用毕加索完全替换了universal loader,但在下载图像时仍然出现闪烁问题。当我尝试将图像存储到缓存中时,它工作正常,但我没有从服务器获得新上传的图像,如果我清除了缓存,就会出现闪烁。有什么解决办法吗????
// schedule rendering:
final String path = ... (set path here);
if (holder.lastImageUrl == null || !holder.lastImageUrl.equals(path)
                || holder.headerImageView.getDrawable() == null) {
    // refresh image
    imageLoader.displayImage(imageUri, imageAware);
} else {
    // do nothing, image did not change and does not need to be updated
}