【发布时间】:2016-12-25 20:01:29
【问题描述】:
我正在尝试使用 Glide 库在 ImageView 中显示图像,该图像位于 res > drawable 文件夹中,并且它的名称是从数据库中检索的。如何使用 Uri 获取资源?redWifi.getImagen() 返回类似“imagename.png”的字符串。
我正在使用下一个代码,但没有显示图像。
Glide.with(detallesRedGuardadaActivity.this)
.load(Uri.parse("file:///android_asset/" + redWifi.getImagen()))
.asBitmap()
.into(iconoRed);
我尝试使用.load(Uri.parse("file://android_asset/" + redWifi.getImagen())),但仍然无法正常工作。
【问题讨论】:
-
您不需要库来设置资产中的图像。最简单的做法是将图像传输到drawable文件夹中,然后使用
myImageView.setImageResource(R.drawable.image_from_drawable); -
我使用 glide 是因为此代码是 cursorAdapter 的一部分,并且每个 Item 都有一个从 db 获取的图像,使用 myImageview.setImageResource,由于项目数量过多而阻塞了 ui 线程。跨度>
-
所以图像名称在数据库中,您希望每次都根据从数据库中获取的图像名称获取正确的图像,对吗?
-
是的,没错,图片在 res>drawable>img1.png 中,需要一种正确的方式来使用 uri(或其他方式)获取对图像的引用。
-
您是否尝试在 AsyncTask 中执行 setImageResource?我不确定这是不是正确的方法,但它在后台运行并且不会阻塞 UI 线程。
标签: android imageview android-glide