如何获取R.id.image的整数值



在使用回收器视图时,我只想传递图像的资源id的字符串值,但我知道这不能用通常的方式来完成,就像我们不能在setImageResource()中传递字符串一样。但是有没有办法把R.id.anyImage转换成它的整数值呢?

不幸的是,没有getImageResource((或getDrawableId((。但是,您可以使用ImageView标记创建简单的解决方法。

在onCreate((中:

imageView0 = (ImageView) findViewById(R.id.imageView0);
imageView1 = (ImageView) findViewById(R.id.imageView1);
imageView2 = (ImageView) findViewById(R.id.imageView2);
imageView0.setTag(R.drawable.apple);
imageView1.setTag(R.drawable.banana);
imageView2.setTag(R.drawable.cereal);

然后,如果你愿意,你可以创建一个简单的函数来获得可提取的id:

private int getDrawableId(ImageView iv) 
{
return (Integer) iv.getTag();
}

太容易了。

最新更新