Estou recebendo valores de cores hexadecimais de um servidor (neste formato, por #xxxxxx
exemplo, #000000
para preto)
Como faço para converter isso em um valor inteiro?
Tentei fazer Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))
para obter um 0x000000
resultado ainda mais hexastático , mas isso não é interpretado como um int
aqui, alguma outra sugestão?
Recebo um erro: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer
Estou usando o Android SDK para sua setBackgroundColor(int color)
função, que leva - como você deve ter adivinhado - um valor de cor inteiro.
Este é o OPOSTO desta questão: Como converter um inteiro colorido em uma string hexadecimal no Android?
valueOf
método de dois argumentos , onde especifica a entrada da string (sem o #, é claro) e a raiz, que especifica a base.Integer.valueOf(passedColor.substring(1, passedColor.length()), 16)
Isso pode ser feito com qualquer base inteira! download.oracle.com/javase/6/docs/api/java/lang/… , int)