我的项目中有一个小型 SQLite 数据库,其中有“产品”表。该表的一列是字符串“图像”。在活动中,我在 Intent extras 中收到一个产品 ID,并从数据库创建一个 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 是存储在我的数据库中的字符串和图像的文件名。
那么怎么做呢?