Je reçois des valeurs de couleur hexadécimales d'un serveur (sous cette forme #xxxxxx
, par exemple #000000
pour le noir)
Comment puis-je convertir cela en une valeur entière?
J'ai essayé de faire Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))
pour obtenir un résultat encore plus hextastique 0x000000
, mais ce n'est pas interprété comme un int
ici, d'autres suggestions?
Je reçois une erreur: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer
J'utilise le SDK Android pour leur setBackgroundColor(int color)
fonction, qui prend - comme vous l'avez peut-être deviné - une valeur de couleur entière.
C'est l'opposé de cette question: Comment convertir un entier de couleur en chaîne hexadécimale sous Android?
valueOf
méthode à deux arguments , où vous spécifiez l'entrée de chaîne (sans le #, bien sûr) et la base, qui spécifie la base.Integer.valueOf(passedColor.substring(1, passedColor.length()), 16)
Cela peut être fait avec n'importe quelle base entière! download.oracle.com/javase/6/docs/api/java/lang/… , int)