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