获取颜色资源作为string

我试图在颜色资源上使用Color.parseColor()

 <color name="redish">#FF0000</color> 

我试过这个,但它给了我错误未知的颜色

 Color.parseColor(Integer.toHexString(context.getResources().getColor(R.color.redish))) 

如何正确地将颜色资源转换为String

Solutions Collecting From Web of "获取颜色资源作为string"

我想你错过了

 Color.parseColor("#"+Integer.toHexString(ContextCompat.getColor(context, R.color.redish))) 
 context.getResources().getColor(R.color.redish)); 

 String colorString=getResources().getString(R.color.redish); 

尝试这个

更新回答:

 String colorHex = "#" + Integer.toHexString(ContextCompat.getColor(context, R.color.colorPrimary) & 0x00ffffff); 

我有一个颜色存储在对象(包含其他领域)。 此外,颜色是在xml文件(colors.xml)中定义的。
所以想设置textview的背景颜色。 我做了如下:

 ... String color= res.colorName; // res is an object int c = context.getResources().getIdentifier(color,"color", context.getPackageName()); textView.setBackgroundColor(Color.parseColor("#" + Integer.toHexString(context.getResources().getColor(c)))); 

如果您在活动中使用代码,则可以省略“上下文”的使用。