我正在尝试动态构建Android中的图像文件名以在R.drawable中使用。子句。
这是我的代码:
imgHouse = (ImageView)findViewById(R.id.imageView);
strHouseNameImageFile = strHouseName + ".png";
imgHouse.setBackgroundResource(R.drawable.<filename>);
在上面的最后一行中,我真的希望它是一个房子名称和.png的组合,但我不确定如何将一个字符串放在一起,将由R.drawable使用。
我可以为最后一行执行类似的操作,现在在Android Studio中出现错误: imgHouse.setBackgroundResource(strHouseNameImageFiles);
任何帮助都将不胜感激。
由于
答案 0 :(得分:4)
int iconResId = getResources().getIdentifier(strHouseName, "drawable",getPackageName());
imgHouse.setImageResource(iconResId);
答案 1 :(得分:0)
您尝试设置后台资源的方式可能不起作用,因为R类是在编译时生成的。 R.drawable。***实际上是一个在编译时生成的整数。与您的问题最匹配的可能是以下帖子:Dynamic loading of images R.Drawable using variable