获取颜色资源作为string

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

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

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

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

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

  • 与标题,图像和文本列表视图?
  • 每次我在Eclipse中点击一个Android XML文件时,它会加载所有API版本的数据
  • 如何使用XML绘制一个带圆angular的矩形?
  • Android:工具栏文本是黑色而不是白色
  • 如何为Android Honeycomb应用程序创建每周日历视图?
  • 有没有使用多个string.xml文件的副作用?
  • selectableItemBackground作为层列表中的项目
  • 使用android中的图像按钮设计如下图像的布局
  • 我想你错过了

     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)))); 

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