Я получаю шестнадцатеричные значения цвета с сервера (в этой форме #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)
функции, которая принимает, как вы уже догадались, целочисленное значение цвета.
Это ПРОТИВОПОЛОЖЕНИЕ этого вопроса: как преобразовать целое число цвета в шестнадцатеричную строку в Android?
valueOf
, в котором вы указываете строковый ввод (без #, конечно) и систему счисления, определяющую базу.Integer.valueOf(passedColor.substring(1, passedColor.length()), 16)
Это можно сделать с любой целочисленной базой! download.oracle.com/javase/6/docs/api/java/lang/… , int)