在使用回收器视图时,我只想传递图像的资源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();
}
太容易了。