Otrzymuję wartości koloru szesnastkowego z serwera (w tej formie #xxxxxx, na przykład #000000dla czarnego)
Jak przekonwertować to na wartość całkowitą?
Próbowałem Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))uzyskać jeszcze bardziej hextastyczny 0x000000wynik, ale nie jest to interpretowane jako inttutaj, 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?
valueOfmetody 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)