将ImageView源设置为SQLite中的图像

时间:2013-07-29 12:21:52

标签: android image sqlite imageview android-imageview

我的项目中有一个小的SQLite数据库,我有表"产品"。该表的一列是String" image"。在活动中,我在Intent extras中收到产品ID,并从DB创建一个Product对象。在这个活动的布局中,我有一个ImageView。每次创建Product对象时,我都想将ImageView图像设置为存储在对象中的图像。我试着做以下事情:

ImageView product_image = (ImageView) findViewById(R.id.product_image);
product_image.setImageDrawable(Integer.parseInt("R.drawable."+productToPresent.getImage());

productToPresent是我的Product对象,getImage返回图像字符串名称。 但是此时我的应用程序崩溃了,我在logcat中收到以下错误消息:

RuntimeException: Unable to start activity ComponentInfo{com.myapp.appname/com.myapp.appname.ActivityProductDetails}: java.lang.NumberFormatException: Invalid int: "R.drawable.cat02_prod02" 其中cat02_prod02是存储在我的数据库中的字符串和图像的文件名。

那怎么办呢?

1 个答案:

答案 0 :(得分:2)

你可以这样做:

int id = getResources()
       .getIdentifier("yourpackagename:drawable/" + StringGenerated, null, null);

这将返回您要访问的drawable的id ...然后您可以通过执行以下操作在imageview中设置图片

imageview.setImageResource(id);
相关问题