我正在开发一个在线购物应用程序,我将所有产品详细信息存储在Sqlite数据库中,以及产品图像的资源ID。我正在检索那些ID(例如:R.drawable.image1),以便显示存储在drawable文件夹中的图像。
精确检索id,但发生异常,如“InvalidNumberFormatException:R.drawable.image1”。我已经将所有id存储为sqlite中的VARCHAR。在将这些ID作为字符串值检索后,如何将这些ID存储在int数组中?
我正在使用recyclerview显示这些图像和其他产品详细信息。任何帮助,将不胜感激。提前谢谢。
答案 0 :(得分:4)
只需将图像名称存储在数据库中,然后使用下面的代码获取其ID
private void loadImage(String mImageName, ImageView mImageIcon){
int resID = mContext.getResources().getIdentifier(mImageName , "drawable", mContext.getPackageName());
if(resID!=0) {//The associated resource identifier. Returns 0 if no such resource was found. (0 is not a valid resource ID.)
mImageIcon.setImageResource(resID);
}
}