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

How can I get the integer value of R.id.image?

在使用回收器视图时,我只想传递图像资源 ID 的字符串值,但我知道不能使用通常的方式来完成,就像我们不能在 [=11 中传递字符串一样=].但是有没有办法将 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);

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

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

太简单了。