8

I have an imageview in android . I want to get the name of the image which is set in the in the imageview. How can I do that ?

ImageView v = (ImageView)findViewbyId(R.id.img);
//String name = findImageName(v);
if( name.equals(a))
{
   //do something
} 
else{
   //do something
}
osimer pothe
  • 2,827
  • 14
  • 54
  • 92
  • I think it's duplicate http://stackoverflow.com/questions/15824579/get-the-filename-that-your-imageview-loaded-its-image-from – Eliasz Kubala Jul 27 '15 at 10:56

4 Answers4

10

For this first of all you need to set a tag for your ImageView

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageview1" 
    android:background="@drawable/bg1"
    android:tag="bg1"/>

Now get the image name currently set on your ImageView by doing the following,

ImageView v = (ImageView)findViewbyId(R.id.img);
String backgroundImageName = String.valueOf(v.getTag());

and this should return the image tag name which is "bg1".

Now compare the tag names or use it for further process

if( backgroundImageName.equals(bg1))
{
   //do something
} 
else{
   //do something
}
Prokash Sarkar
  • 11,723
  • 1
  • 37
  • 50
4

You can set the name ussing tag.

imageView.setTag("any name")

And retrieve the value using

String imageNameName = (String) imageView.getTag();
Jithu
  • 1,478
  • 1
  • 13
  • 21
1
    ImageView img = (ImageView) findViewById(R.id.imageView);
    String imageName = img.getContentDescription();
Anup Dasari
  • 488
  • 1
  • 4
  • 13
1

Couldn´t you use something like this?

ImageView v = (ImageView)findViewbyId(R.id.img);
if(R.id.someId == v.getId())
{
   //do something
} 
else{
   //do something
}

It´s easier than use resources' names.