RecyclerView图片显示不出来。
androidstudio吧
全部回复
仅看楼主
level 3
我的问题是RecyclerView的图片显示不出来,在新建日记界面添加图片可以显示,然后回到主页面显示所有日记的时候也能显示图片,但是当我往下拖动再拖动回来的时候,图片就消失了
这是新建界面
这是添加完成回到主界面后更新的结果
下滑至这个图片日记隐藏后,再拖动回来就不见了。
后面给源码
2024年08月26日 04点08分 1
level 3
图片添加我是用注册方式传递图像URI,然后是把他转换成绝对地址存在数据库。
2024年08月26日 05点08分 2
这个时候的日记编辑界面是可以显示图片的
2024年08月26日 05点08分
level 3
发表成功后返回主页面进入回调刷新界面
2024年08月26日 05点08分 3
level 3
这是获取权限的部分
2024年08月26日 05点08分 4
level 3
这是我申请的权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
2024年08月26日 05点08分 5
level 3
这是Adapter内部填充数据的函数。
2024年08月26日 05点08分 7
level 3
数据库内部图片地址信息都有的
2024年08月26日 05点08分 8
level 3
打断点看页面初始化的时候,不知道为什么,bitmap是空,显示不出来。我也不知道是出了什么问题,我感觉是权限问题,可是又能添加。查了几天了网上没什么信息,gpt也解决不了。
2024年08月26日 05点08分 9
level 3
解决了。应该是uri有效性的问题。
获取uri后申请了持续权限,然后注入的时候也不转化成绝对地址了,直接用uri
imageDiary.setImageURI(Uri.parse(diary.getImagePath()));
2024年10月09日 06点10分 10
level 3
不过奇怪的是
如果在适配器显示界面利用uri存储,然后使用glide注入,依旧可以实现显示预览图,但是在详细界面就不能展示了。
String path = diary.getImagePath();
Glide.with(context).load(path).into(imageDiary);
最后还是用的uri申请持续权限,然后用uri设置图片。
2024年10月09日 06点10分 11
1