Otrzymuję wartości koloru szesnastkowego z serwera (w tej formie #xxxxxx
, na przykład #000000
dla czarnego)
Jak przekonwertować to na wartość całkowitą?
Próbowałem Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))
uzyskać jeszcze bardziej hextastyczny 0x000000
wynik, ale nie jest to interpretowane jako int
tutaj, jakieś inne sugestie?
Otrzymuję błąd: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer
Używam Android SDK do ich setBackgroundColor(int color)
funkcji, który przyjmuje - jak można się domyślić - całkowitą wartość koloru.
To jest PRZECIWIEŃSTWO tego pytania: Jak przekonwertować liczbę całkowitą koloru na ciąg szesnastkowy w systemie Android?
valueOf
metody dwuargumentowej , w której podajesz ciąg wejściowy (oczywiście bez #) i podstawę, która określa podstawę.Integer.valueOf(passedColor.substring(1, passedColor.length()), 16)
Można to zrobić z dowolną liczbą całkowitą! download.oracle.com/javase/6/docs/api/java/lang/… , int)