我有一个网络服务,我从中读取各种信息。这些信息之一是图像的名称。我将所有图像存储在drawables文件夹中。我现在所做的是我从Web服务中读取了我需要的图像字符串。我想使用此字符串名称并从我的drawable文件夹中插入具有相同字符串名称的图像。这可能吗?
是否有可能以某种方式执行以下操作?
//Setup the image
ImageView spotIvIcon = (ImageView)findViewById(R.id.spot_selected_image);
String temp = "R.drawable."+spotImage;
spotIvIcon.setImageResource(R.drawable.beer);
我对临时字符串做了什么。是否可以将此字符串转换为我需要的int?我在那里喝啤酒只是为了测试一些东西。 感谢
答案 0 :(得分:6)
所以我发现了如何做到这一点。如果有人想知道它是如何完成的,请使用以下代码:
int path = getResources().getIdentifier(spotImage, "drawable", "com.androidpeople.tab");
spotIvIcon.setImageResource(path);
其中:
现在就像魅力一样。
答案 1 :(得分:2)
您可以使用assets目录存储这些图像,然后使用BitmapFactory.decodeStream(assetManager.open(imAnAssetName))等加载它们;
资源目录,它用于资源管理器不希望管理(或无法管理)的事物。
http://developer.android.com/reference/android/content/res/AssetManager.html。