在android中设置颜色

在android中设置颜色,android,background,tablerow,Android,Background,Tablerow,我试图在android中设置tablerow的背景色,但在引用正确的int时遇到问题。下面是代码。我做错什么了吗?背景中出现的颜色是浅灰色 <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Trackfolio</string> <color name="colorWhite">#FFFFFF</color&g

我试图在android中设置tablerow的背景色,但在引用正确的int时遇到问题。下面是代码。我做错什么了吗?背景中出现的颜色是浅灰色

   <?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Trackfolio</string>
    <color name="colorWhite">#FFFFFF</color>
    <color name="colorBlack">#000000</color>
    <color name="colorLightBlue">#6495ED</color>
</resources>

row.setBackgroundColor(R.color.colorLightBlue);

哦,我真傻,在引用颜色资源时应该使用tableRow.setBackgroundResource()。

试试
setBackgroundResource(int-color)
。Using
setBackgroundColor
使用R.color.colorLightBlue用于引用定义颜色的int,并尝试将其解析为颜色,而不是检索引用的颜色。

通过访问颜色的方式,可以获得R.java gen文件中的偏移位置

你需要像这样访问它们

Resources res = context.getResources();
row.setBackgroundColor(res.getColor(R.color.high_priority));

看起来@willytate的方法应该有效。只需使用
setTextColor(getResources().getColor(R.color.colorLightBlue))/未测试
Resources res = context.getResources();
row.setBackgroundColor(res.getColor(R.color.high_priority));