比较按钮背景图像

Comparing button background images

我在比较按钮背景图像时遇到问题,这是我的代码

if (temp[0].getBackground() == temp[1].getBackground()) {

        ...
    }

所以当我 运行 temp[0] 和 temp[1] 的代码和背景来自同一个 drawable 时,它​​说它们彼此不相等(==)但是如果我做到了

if (temp[0].getDrawingCacheBackgroundColor() == temp[1].getDrawingCacheBackgroundColor()) {

        ...
    }

它们会彼此相等,但如果我有另一个带有不同可绘制对象的按钮,它就会通过,因为它们也相等,这是我不想要的。如何制作 if 语句来比较按钮的背景图像?

temp[] 是一个包含按钮的数组。

使用.equals()。 == 运算符仅检查两个引用是否相同。 equals 函数比较对象。假设 Android 正确实施了 .equals,这应该有效。

这归结为:在 Java 中,使用 .equals() 而不是 == 比较对象;后者应该只用于比较基元(intlong...等)或对象引用。