Java 将颜色的xml整数数组转换为字符串数组将返回空值-如何以编程方式将其转换为十六进制?

Java 将颜色的xml整数数组转换为字符串数组将返回空值-如何以编程方式将其转换为十六进制?,java,android,android-resources,Java,Android,Android Resources,我正在尝试将此颜色列表从我的colors.xml转换为Java字符串数组 <color name="redditred">#EA0027</color> <color name="redditorange">#FF8717</color> <color name="redditlime">#94E044</color> <color n

我正在尝试将此颜色列表从我的
colors.xml
转换为Java
字符串数组

<color name="redditred">#EA0027</color>
    <color name="redditorange">#FF8717</color>
    <color name="redditlime">#94E044</color>
    <color name="redditmint">#0DD3BB</color>
    <color name="redditblue">#24A0ED</color>
    <color name="redditpink">#FF66AC</color>
    <color name="redditgold">#DDBD37</color>
    <color name="redditgrey">#A5A4A4</color>
    <color name="redditsemiblack">#222222</color>
    
    <integer-array name="redditColors">
        <item>@color/redditred</item>
        <item>@color/redditorange</item>
        <item>@color/redditlime</item>
        <item>@color/redditmint</item>
        <item>@color/redditblue</item>
        <item>@color/redditpink</item>
        <item>@color/redditgold</item>
        <item>@color/redditgrey</item>
        <item>@color/redditsemiblack</item>
    </integer-array>
输出:

onCreate: 17
onCreate: [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]
编辑:

String[]colors=getResources().getStringArray(R.array.redditColors);
for(int i=0;i
颜色十六进制值不是字符串。所以像#FFFFFF这样的东西不会转换为字符串“#FFFFF”

要获得所需的数组,可以迭代
颜色
数组,并使用以下代码将每个颜色十六进制转换为字符串,然后将其存储在新数组中

String hexInString = String.format("#%06X", (0xFFFFFF & intColor));

颜色十六进制值不是字符串。所以像#FFFFFF这样的东西不会转换为字符串“#FFFFF”

要获得所需的数组,可以迭代
颜色
数组,并使用以下代码将每个颜色十六进制转换为字符串,然后将其存储在新数组中

String hexInString = String.format("#%06X", (0xFFFFFF & intColor));
您应该使用而不是
getStringArray()
,并使用
Integer.tohextString()将其转换为
Hex

结果:

2021-01-04 08:22:11.819 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffea0027
2021-01-04 08:22:11.819 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffff8717
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff94e044
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff0dd3bb
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff24a0ed
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffff66ac
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffddbd37
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffa5a4a4
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff222222
您应该使用而不是
getStringArray()
,并使用
Integer.tohextString()将其转换为
Hex

结果:

2021-01-04 08:22:11.819 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffea0027
2021-01-04 08:22:11.819 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffff8717
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff94e044
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff0dd3bb
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff24a0ed
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffff66ac
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffddbd37
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffa5a4a4
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff222222

代码给了我一个错误:
运算符&无法应用…
int-color
每个数组的颜色吗?我把我的代码放在我的坏代码上面。我错过了一件事。您需要使用`getResources().getIntArray(R.array.redditColors);`要获取颜色,因为颜色是整数。代码给了我一个错误:
运算符&无法应用…
int-color
每个数组颜色吗?我把我的代码放在我的坏代码上面。我错过了一件事。您需要使用`getResources().getIntArray(R.array.redditColors);`要获取颜色,因为颜色是一个整数。这种方法可行,但它会在每个字符串前面添加“ff:
#ffea0027
#ffff8717
。我该如何删除它?@whoatemyleak额外的2个数字用于定义颜色透明度。。请检查此操作是否有效,但它在每个字符串前面添加了“ff:
#ffea0027
#ffff8717
。我该如何删除它?@whoatemyleak额外的2个数字用于定义颜色透明度。。请查收
2021-01-04 08:22:11.819 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffea0027
2021-01-04 08:22:11.819 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffff8717
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff94e044
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff0dd3bb
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff24a0ed
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffff66ac
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffddbd37
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ffa5a4a4
2021-01-04 08:22:11.820 32308-32308/com.example.... D/LOG_TAG: Hex Color: #ff222222