在我的应用中,我在colors.xml文件中定义了不同的颜色。
<color name="colorRed">#fa0000</color>
<color name="colorGreen">#17c104</color>
<color name="colorBlue">#0031a3</color>
已经为这些颜色分配了一个整数数组,我可以使用随机函数从中选择一个颜色,将任何textview指定为textcolor或背景颜色。
colorsArray[0]=R.color.colorRed;
colorsArray[1]=R.color.colorBlue;
colorsArray[2]=R.color.colorGreen;
int displayColor = getRandomInt(); //Range Specified in Function Definition
gameDisplayText.setTextColor(ContextCompat.getColor(this,colorsArray[displayColor]));
现在,当我需要检查用户选择的textview的文本颜色和背景颜色并将其与我的颜色数组中的任何颜色进行比较时,我总是得到一个错误的结果,因为getCurrentTextColor重新签名了一个有符号的值。 / p>
if(previouslySavedColor==gameDisplayText.getCurrentTextColor())Toast("Colors Matched");
else Toast("Colors Different");
如何获得与存储在数组中的颜色相当的textcolor和textbackground颜色的正确值?