首页 > 解决方案 > 如何获得 R.id.image 的整数值?

问题描述

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

标签: androidandroid-studioandroid-recyclerviewimageview

解决方案


不幸的是,没有 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();
}

太容易了。


推荐阅读