在ImageView中获取drawable的ID

时间:2015-05-19 09:27:01

标签: android android-imageview android-drawable

我创建了一个名为 imgView 的ImageView,我在res/drawable目录中有三个可绘制的图像。在onCreate()方法内部,我将一个可绘制的图像设置为 imgView ,如:

ImageView imgView = (ImageView) findViewById(R.id.imgView); 
imgView.setImageResource(R.drawable.image1);

我的疑问是如何获得当前在imgView中设置的图像的可绘制ID。

3 个答案:

答案 0 :(得分:1)

我认为无法获得最近的drawable id

drawable id存储在一个名为mResource的私有字段中,并且没有getter可以访问它。

private int mResource = 0;

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/widget/ImageView.java

我不推荐,但也许你可以做一些花哨的反思。

答案 1 :(得分:-1)

编辑:

抱歉,错过" id"在这个问题!

您可以使用:

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

答案 2 :(得分:-3)

<强> Drawable myDrawable = imgvw.getDrawable();

获取这样的drawable,用于与资源中已有的drawable进行比较。