在if语句中询问图像的名称

时间:2016-05-15 13:42:55

标签: java android

我的问题是,如何在if语句中询问ImageView中图像的名称。我已经用image.equals(" imageName")尝试了它,但它没有用。 我将显示我的代码看起来像的随机图像:

Random rand = new Random();
String str = "img_" + rand.nextInt(3);

在if语句中我试过这个:

if (str.equals("img_" + 1)){...}

我的ImageView,显示一个随机图像(这很好),看起来像这样:

image = (ImageView) findViewById(R.id.imageView);
image.setImageDrawable(getResources().getDrawable(getResourceID(str, "drawable", getApplicationContext())));

我想,我必须处理"图像"而不是" str"但我不知道怎么样???

2 个答案:

答案 0 :(得分:1)

您可以为每张图片设置标签,然后按标签检查该图片

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

并获取图片标记名称,如

ImageView imageView = (ImageView)findViewbyId(R.id.imageview1);

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

然后通过IF条件检查

if(strImageTagName.equals("tag_image1"))
{ 
      // do something
}
else
{
     // do something
}

答案 1 :(得分:0)

通过比较ImageView和String,我不确定您的预期。那些不是同一类型,所以等于它们不会起作用。

如果您想将ImageView与某个对象相关联,那么您可以使用标签。

Random rand = new Random();
String str = "img_" + rand.nextInt(3);
image = (ImageView) findViewById(R.id.imageView);
image.setTag(str);
int resId = getResources().getDrawable(getResourceID(str, "drawable", getApplicationContext()));
image.setImageDrawable(resId);

稍后再查看

String tag = (String) image.getTag();
if (tag.equals("img_1")){...}