我注意到Eclipse的一个奇怪行为?
我有一个静态变量:
public static colorID = R.color.Black;
有时它与R.color.Black匹配:
if(colorID == R.color.Black)
//sometimes it works
有时我需要使用 </p>。
if(colorID == getResources().getColor(R.color.Black));
当代码很大时,通过测试寻找故障真的很烦人...
因此,我想知道为什么它有时有效,有时无效,以及为什么返回的整数有时不同,有时相同。它们都引用了我自定义的color.xml
文件中的R.color.Black,在我的values
文件夹中。那么它们为什么有时不同呢?
final
关键字:public static final colorID = R.color.Black;
。我猜你会发现你在多个地方给colorID
赋了不同的值。 - CommonsWaregetColor()
返回的是颜色值,而不是颜色 ID。如果它匹配了,那么你的代码中可能存在混淆值和 ID 的 bug。 - laaltoR.Color...
直接赋值。即使我从“不同的位置”分配它们,也应该没问题吧? - MMike