Android将颜色字符串转换为资源int

时间:2016-10-19 06:22:44

标签: android android-resources android-color

我正在尝试将颜色从json颜色数组设置为我的自定义菜单背景。

addMenuItem(int bgColor);

json color array =>

[
  [
    "B71C1C",
    "C62828"],[
    "B71C1C",
    "C62828"]
]

Color字符串从json

正确显示

String colorString = "#" + mColors.getJSONArray(i%2).getString(i%2);给出#B71C1C;

将其转换为整数int parseColor = Color.parseColor(colorString); 并传递到上面的菜单背景;

ie;addMenuItem(parseColor);

我正在

  

android.content.res.Resources $ NotFoundException:资源ID#0xffb71c1c

我认为addMenuItem只接受来自资源的int。如何从我的JSON颜色文件中设置颜色。

1 个答案:

答案 0 :(得分:4)

那是因为你输了一个数字,Android框架试图找到一个不存在的资源(R.color)。您应该使用Color(例如

)将该数字转换为Color.argb(int,int,int,int)对象