如何获取ImageView的源代码才能改变它?

Red*_*Sea 16 android drawable imageview

我知道改变ImageView资源并不是什么大不了的事 myImageView.setImageResource(mynewImageDrawable)

但我想要做的是在更改之前检查当前的ImageSource.

基本上,我想使用imageViews实现我自己的组单选按钮.因此,每次单击任何imageView时,oncliked事件方法将更改我的组的图像资源.

抱歉我的英语不好.

问候,红海

Jua*_*tés 28

没有任何getDrawableId功能,所以你需要做一些事情,例如为ImageView你改变它的drawable时设置一个标签.例如,将drawable id设置为标记,ImageView这样您就可以从标记中获取drawable id.

怎么做?

我会说90%的时间,你的观点都没有任何标签,所以最简单的方法是假设你的标签是唯一的标签:

myImageView.setTag(R.drawable.currentImage);    //When you change the drawable
int drawableId = (Integer)myImageView.getTag(); //When you fetch the drawable id
Run Code Online (Sandbox Code Playgroud)

如果我的视图中已有标记,该怎么办?

Android视图可以同时托管多个标记,只要它们具有唯一标识符即可.您需要创建一个唯一的id资源,并将其添加为setTag方法调用的第一个参数.离开这样的代码:

myImageView.setTag(R.id.myTagId, R.drawable.currentImage); //Set
int drawableId = (Integer)myImageView.getTag(R.id.myTagId);
Run Code Online (Sandbox Code Playgroud)