Android动态显示图像

时间:2011-12-14 23:22:51

标签: android imageview

我有一堆名为1.jpg,2.jpg ......和56.jpg的图像。我在变量中也有一个_id值,取决于从上一个列表活动中选择的项目。我有以下代码来显示图像。

ImageView image = (ImageView) findViewById(R.id.headerimage);
image.setImageResource(R.drawable.image1);

我想要做的是动态显示与_id值对应的图像,例如......这样的东西?

ImageView image = (ImageView) findViewById(R.id.headerimage);
image.setImageResource(R.drawable.myID + ".jpg");

我该怎么做?

干杯,

麦克

2 个答案:

答案 0 :(得分:2)

是的,你可以这样做。

只需使用Resouces.getIdentifier()即可。请注意此实现较慢使用id和始终检查resourceId是否为0 (这意味着您要求的资源不会退出。

示例:

 View view = //...
 int number = //...      
 int resId = getIdentifier("files_"+number, "drawable", "com.my.project.package");
 view.setBackgroundResource(resId);

答案 1 :(得分:0)

据我所知,你没有。我刚才有类似的问题,你可以找到它here. 出于某种原因,如果您尝试动态引用资源名称,Android似乎不喜欢它。我最终通过将我动态想要引用的所有资源放在一个数组中来修复它。