java - 比较 Imageview 和 R.drawable

标签 java android

我想检查 Imageview 是否有特定的 R.drawable,如果有,则用另一个图像更改它。但这种方式行不通。

xml代码

 <ImageView
        android:id="@+id/Picture"
        android:src="@drawable/apicture"
 </ImageView>

java代码

Image = (ImageView) findViewById(R.id.Picture);

public void coolMethod()
{
    if(Image.equals(R.drawable.apicture){

        Image.setImageResource(R.drawable.anotherpicture);
     }
}

最佳答案

可以有多种方法来实现这一点

1.在设置drawable之前,在 ImageView 中将drawable id设置为标签,并比较该标签以确定是否是同一图像。

image.setTag(R.drawable.apicture);

检查

if ((int) image.getTag() == R.drawable.apicture) {
      // do your stuff
 }

2.如果drawable相同则需要匹配

Drawable drawable=image.getDrawable();
Drawable drawable1=context.getDrawable(R.drawable.apicture);
if(drawable.equals(drawable1)){
image.setImageResource(R.drawable.anotherpicture);
}

关于java - 比较 Imageview 和 R.drawable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41741371/

相关文章:

java - Spring Boot - 无法使用 thymeleaf 邮件模板添加内联图像

android - GCM onReceive 方法未在 Android 4.0.3 上触发,但适用于 4.0.3 以上的操作系统

java正则表达式获取字符串的某些部分

java - Gradle 同步失败版本不支持 ModelBuilder API,而版本为 3.3

java - C++ 引用和 Java 引用

java - 如何找到椭圆和线之间的交点?

java - 否则没有 if - android studio/java

java - 对二维 double 组进行排序

java - Android 游戏开发 - 移动手机

android - 无法使闪光灯连续闪烁并在单击按钮时停止