今天遇到一些图片展示的问题,图片不展示。一开始我以为是数据传导出现问题导致没有正确的把图片传到Adapter中,然后经过模块代码调试找错发现图片网址确实是传过来了,但是就是不显示。
然后我以为是我加载图片的方法用错了,然后我就去找各种加载图片的方法,发现都不行,但是代码没报错就是不展示。下面是我用过的方法:
首先添加依赖
implementation 'com.github.bumptech.glide:glide:4.5.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
添加访问权限
<uses-permission android:name="android.permission.INTERNET" />
各种方法 本地加载和网路加载
// 加载本地图片 File file = new File(getExternalCacheDir() + "/image.jpg"); Glide.with(this).load(file).into(imageView); // 加载应用资源 int resource = R.drawable.image; Glide.with(this).load(resource).into(imageView); // 加载二进制流 byte[] image = getImageBytes(); Glide.with(this).load(image).into(imageView); // 加载Uri对象 Uri imageUri = getImageUri(); Glide.with(this).load(imageUri).into(imageView);
都行不通,最后我找到一个文章说可能是添加依赖的版本号有问题,试了一下发现真的可以
implementation 'com.github.bumptech.glide:glide:4.9.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
真的弄了好久,也不报错真的坑,因为studio是比较新的版本 之前的依赖行不通,然后我发现之前用到的一个布局也是不能用也不报错,我试着改了一下
implementation 'com.android.support:design:29.0.0' implementation 'com.android.support:recyclerview-v7:29.0.0'
把版本号和自己的
android { compileSdkVersion 29 buildToolsVersion "29.0.3"
实现一致就可以用了,苦恼了好久