我注意到了一个奇怪的日食行为?
我有一个静态变量:
public static colorID = R.color.Black;
有时它与R.color.Black匹配:
if(colorID == R.color.Black)
//sometimes it works
有时我需要使用
if(colorID == getResources().getColor(R.color.Black));
通过测试你的代码是否很大来找到错误真的很烦人......
所以我想知道为什么它为什么不工作,以及为什么返回的整数有时是不同的,有时不是。它们都在我的color.xml
文件夹中的自定义values
文件中引用了R.color.Black。那么为什么他们有时会有所不同呢?
答案 0 :(得分:3)
getColor返回实际的AARRGGBB颜色值。 R.color.Black是一个包含颜色的id,可能是也可能不是黑色。一个是实际值,一个是颜色的参考。