Преобразование String = "0xfbff0000" в значение int для использования его в Layout.setBackground (int i); - PullRequest
0 голосов
/ 06 марта 2012

Теперь это может показаться довольно простым на первый взгляд, но это заняло у меня много времени. Integer.valueOf(0xfbff0000) не сработает, не сработает и ParseInt, я отчаянно ищу здесь решение.

Исключения, которые я получаю при преобразовании, - это исключение NUMBERFORMAT.

Мне нужно использовать это шестнадцатеричное значение, чтобы динамически установить фон моего макета

т.е. Layout.setBackground(int)

Позвольте мне уточнить, что у меня есть строковая переменная, которая выглядит как String backgroundColor="0xfbff0000";

нужна эта переменная backgroundColor для использования в качестве целого числа в Layout.Setbackground(int)

Ответы [ 3 ]

3 голосов
/ 06 марта 2012

вы можете использовать Color.parseColor (String) , но вам нужно заменить префикс 0x на #

Например:

Color.parseColor("#fbff0000");
2 голосов
/ 06 марта 2012
new Color().parseColor(colorString)

разделите эту строку и удалите 0x и поместите остальные в аргументы выше методов args ..

0 голосов
/ 06 марта 2012

попробуйте следующее:

int i = Integer.valueOf(myHexString, 16).intValue();
...