【问题标题】:How to get the image name of the ImageView in Android?如何在Android中获取ImageView的图像名称?
【发布时间】:2018-04-18 21:09:11
【问题描述】:

我在 android 中有一个 imageview 。我想获取在 imageview 中设置的图像名称。我怎样才能做到这一点 ?

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

【问题讨论】:

标签: android image imageview


【解决方案1】:

首先你需要为你的 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 中?
【解决方案2】:

您可以使用标签设置名称。

imageView.setTag("any name")

并使用检索值

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

【讨论】:

    【解决方案3】:
        ImageView img = (ImageView) findViewById(R.id.imageView);
        String imageName = img.getContentDescription();
    

    【讨论】:

    • 图像名称是什么意思?是图像的文件名?还是你在 xml 中作为内容描述给出的描述?
    • 通过xml文件设置到imageview中的图片名称
    • 请问您是如何在xml文件中设置imageview的名称的?
    【解决方案4】:

    你不能用这样的东西吗?

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

    这比使用资源的名称更容易。

    【讨论】:

      猜你喜欢
      • 2022-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      相关资源
      最近更新 更多