【发布时间】:2011-10-19 14:06:39
【问题描述】:
我正在从服务器接收十六进制颜色值(以这种形式,#xxxxxx,例如 #000000 用于黑色)
如何将其转换为整数值?
我尝试使用Integer.valueOf("0x" + passedColor.substring(1, passedColor.length())) 来获得更加六边形的0x000000 结果,但是这里没有将其解释为int,还有其他建议吗?
我收到一个错误:08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer
我将 Android SDK 用于他们的 setBackgroundColor(int color) 函数,它采用 - 正如您可能已经猜到的 - 整数颜色值。
这是这个问题的对立面:How to convert a color integer to a hex String in Android?
【问题讨论】:
-
由于某种原因我无法发布...您快到了,但您需要两个参数
valueOf方法,您可以在其中指定字符串输入(没有 #, of当然)和指定基数的基数。Integer.valueOf(passedColor.substring(1, passedColor.length()), 16)这可以用任何整数基数来完成! download.oracle.com/javase/6/docs/api/java/lang/…, int)
标签: java android colors numberformatexception