大家好我得到了一个带有imageview的情况,我动态设置了可绘制的源和文本,类似于这个,类似于question
title.setText(items.get(position).getTitle());
icon.setImageResource(this.icons.getIcon(items.get(position).getIcon()));
在imageview上使用onClickIcon的xml,我需要知道哪些图像是id drawable来检查它是否等于我的
<ImageView android:id="@+id/image"
android:onClick="onClickIcon"
/>
活动
public void onClickIcon(View v) {
int id = v.getId();//instead i need the int of the drawable image
switch (id) {
case R.drawable.info:
//do something
break;
case R.drawable.links_icon:
//do something
break;
case R.drawable.map_icon:
//do something
break;
default:
break;
}
}
提前谢谢你们,我也很抱歉我的英语,下次我试着改进它。
干杯
答案 0 :(得分:3)
您可以使用setTag()方法..
ImageViewsetTag(R.id.ImageView,this.icons.getIcon(items.get(位置).getIcon()));
并在onClick方法中使用getTag(R.id.ImageView)..
答案 1 :(得分:1)
这是另一种类似于CapDroid答案的解决方法:
您可以使用ImageView标记创建自己的getImageResource()
或getDrawableId()
函数。
在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 getImageResource(ImageView iv) {
return (Integer) iv.getTag();
}
我希望这会对你有所帮助,这确保我的工作更轻松。