我注意到日食的奇怪行为?
我有一个静态变量:
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文件中引用R.color.Black.那么为什么有时他们会有所不同呢?
解决方法:
getColor返回实际的AARRGGBB颜色值. R.color.Black是一个ID,其中包含一种颜色,它可以是黑色,也可以不是黑色.一个是实际值,一个是颜色的参考.