从DB到StringView背景的字符串图像引用

时间:2018-05-13 19:38:26

标签: android

我正在存储数据库对图像的引用

Source

现在我试图将android.graphics.drawable.BitmapDrawable@9d0968b0中的图像引用作为背景。

如何使用ImageView引用设置myImageView的背景?

我是如何做的事情

String

1 个答案:

答案 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);