如何在android中获取ImageView xml R,drawable.img id

时间:2016-05-16 15:57:27

标签: android imageview android-drawable

有什么方法可以让我从imageView获得R.drawble.img id,它有一些带有src @ drawable / img的图像。我的意思是如果我有src @ drawable / img的图像,我想获得该imageView的R.drawable.xxxx。那可能吗?

我在问,因为我有至少50张图像视图,无论何时点击它们都要分享。

3 个答案:

答案 0 :(得分:0)

从Imageview获取Drawable

imageview.getDrawable();

以位图形式获取图像

BitmapDrawable bitmapDrawable = ((BitmapDrawable) drawable);
Bitmap bitmap = bitmapDrawable .getBitmap();

获取ResourceId

使用此

int resId=Integer.parseInt(imageView.getTag().toString());

答案 1 :(得分:0)

你可以得到像

这样的抽象
Drawable myDrawable = imageView.getDrawable();

您可以将其与可绘制资源(如

)进行比较
if(imageView.getDrawable()==getResources().getDrawable(R.drawable.image1)){
    //do work here
}

答案 2 :(得分:0)

不,您无法获得可绘制的ResourceId,因为ImageView无法保存它。

但你可以使用另一种方法。 首先,您可以从程序代码中设置image src参数,这有助于您了解哪个ResourceId具有具体的ImageView。

第二个变种你可以使用hack。您可以使用tag参数在ImageView中保存ResourceId。

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/icon_profile_photo"
    android:tag="@drawable/icon_profile_photo"/>

之后,您可以通过以下代码获取ResourceId:

imageView.getTag()