使用变量的可绘制资源

时间:2011-09-25 07:53:12

标签: android

我想使用变量代替R.drawable.myimage,因为我有一个带有图像名称的数据库。我从数据库中获取名称,并且我想使用具有此名称的drawable资源。

String flagimage = "R.drawable." + myHelper.getFlagImage(5);
int resourceId = Integer.parseInt(flagimage);
Bitmap flag = BitmapFactory.decodeResource(getResources(), resourceId);

2 个答案:

答案 0 :(得分:39)

您可以使用

等资源的名称

getIdentifier (String name, String defType, String defPackage);

getResources().getIdentifier("us","drawable","com.app");

上述函数将返回与R.drawable.us相同的整数值。

这是您使用资源名称访问的方式。

答案 1 :(得分:17)

您可以使用此代码获取标识符......

 Resources res = this.getResources(); 
 int resID = res.getIdentifier(imagename, "drawable", this.getPackageName());
相关问题