我正在存储数据库对图像的引用
Source
现在我试图将android.graphics.drawable.BitmapDrawable@9d0968b0
中的图像引用作为背景。
如何使用ImageView
引用设置myImageView
的背景?
我是如何做的事情
String
答案 0 :(得分:1)
这不起作用,因为您无法通过使用它的引用ID来获取对象。
如果您尝试保存的ID的图像位于res/drawable
文件夹中,那么最简单的解决方案是保存图像的资源条目名称,如下所示:
String resourceName = getResources().getResourceEntryName(R.drawable.your_image_name);
// Save resourceName to database.
然后检索它:
int resourceId = getResources()
.getIdentifier(<resource_name_from_database>, "drawable", getPackageName());
最后,设置ImageView
的背景:
Drawable myDrawable = ResourcesCompat.getDrawable(getResources(), resourceId, null);
myImageView.setBackground(myDrawable);