比较按钮背景图像
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()
而不是 ==
比较对象;后者应该只用于比较基元(int
、long
...等)或对象引用。
我在比较按钮背景图像时遇到问题,这是我的代码
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()
而不是 ==
比较对象;后者应该只用于比较基元(int
、long
...等)或对象引用。