ImageView的setImageUri设置图片无效

Posted 胖虎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ImageView的setImageUri设置图片无效相关的知识,希望对你有一定的参考价值。

同事开发的一个功能里用到了fresco的setImageUri来设置一个本地的图片的URI,发现图片居然都不显示.

稍微帮忙跟了下发现,最终走了android系统的ImageView,如果是URI是一个网络图片,并不会有问题,如果是本地图片的话,这个是无效的。

调试了之后发现,因为页面用到的都是同一个ImageView,当第一次设置图片时可以正常显示,当第二次设置一样的图片的时候,它会认为一样的图片,所以它不会进行加载,而第一个图片又被回收了。。。所以就显示空白了。。。很狗~ 所以解决方法也很简单,每次设置之前先使用Null将它重置一下即可。或者本地资源,使用setImageResource或者其他API去加载一下。

Uri imgUri = Uri.parse("android.resource://my.package.name/"+R.drawable.test);
imageView.setImageURI(null); 
imageView.setImageURI(imgUri);

以上是关于ImageView的setImageUri设置图片无效的主要内容,如果未能解决你的问题,请参考以下文章

ImageView的setImageUri设置图片无效

ImageView的setImageUri设置图片无效

[Android]通过setImageURI设置网络上面的图片

Android获取本地相册图片拍照获取图片

Android 中ImageView 显示图片的几种方法简要分析

Android 中ImageView 显示图片的几种方法简要分析