我的问题是,如何在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"但我不知道怎么样???
答案 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")){...}