如何在Android中获取ImageView的图片名称?

8

我在安卓应用中有一个ImageView。我想要获取设置在ImageView中的图片的名称。我该如何做?

ImageView v = (ImageView)findViewbyId(R.id.img);
//String name = findImageName(v);
if( name.equals(a))
{
   //do something
} 
else{
   //do something
}

我认为这是重复的 http://stackoverflow.com/questions/15824579/get-the-filename-that-your-imageview-loaded-its-image-from - Eliasz Kubala
4个回答

10

首先,您需要为您的ImageView设置一个标签。

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

通过执行以下操作,获取当前设置在您的 ImageView 上的图像名称:

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

并且这应该返回图像标签名称,即"bg1"

现在比较标签名称或将其用于进一步处理。

if( backgroundImageName.equals(bg1))
{
   //do something
} 
else{
   //do something
}

你是如何将图像设置到ImageView中的? - Prokash Sarkar

4
您可以使用标签设置名称。
imageView.setTag("any name")

并使用以下方法检索值

String imageNameName = (String) imageView.getTag();

1
    ImageView img = (ImageView) findViewById(R.id.imageView);
    String imageName = img.getContentDescription();

“Image name” 是什么意思?是指图片的文件名吗?还是你在 XML 中作为内容描述所给出的描述? - Anup Dasari
通过 XML 文件设置在 ImageView 中的图片名称。 - osimer pothe
我可以知道你是如何在XML文件中设置ImageView的名称的吗? - Anup Dasari

1
“你不能使用这样的东西吗?”,保留了 HTML 标记。
ImageView v = (ImageView)findViewbyId(R.id.img);
if(R.id.someId == v.getId())
{
   //do something
} 
else{
   //do something
}

比使用资源名称更容易。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接