2012-03-06 49 views
0

现在,起初看起来相当简单,但花了我很多时间。 Integer.valueOf(0xfbff0000)不会工作,ParseInt也不会工作,我在这里拼命寻找解决方案。将String =“0xfbff0000”转换为在Layout.setBackground(int i)中使用它的int值;

转换它们时得到的例外是NUMBERFORMAT异常。

我需要用这个十六进制值设置我的布局的背景动态

Layout.setBackground(int)

让我澄清一下,我有一个字符串变量,看起来像String backgroundColor="0xfbff0000";

需要这个变量backgroundColor到作为整数在Layout.Setbackground(int)

+0

那是什么.. ..?十六进制颜色或资源ID的十进制值。 – ngesh 2012-03-06 10:39:33

+0

其不是来自资源的十六进制颜色 – 2012-03-06 10:44:39

回答

3

,你可以使用Color.parseColor(String)但你需要用#

例如更换0X前缀:

​​
+0

确切地说,那是我的工作。 – 2012-03-06 10:55:02

0

请尝试以下操作:

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

不,我得到相同的异常数字格式异常 – 2012-03-06 10:43:45

2
new Color().parseColor(colorString) 

拆分字符串,删除0x和把休息,在以上方法ARGS ..

+0

没错,那是我的工作。 – 2012-03-06 10:56:12