2012-03-06 9 views
0

これは最初はかなりシンプルに見えるかもしれませんが、かなりの時間を要しました。 Integer.valueOf(0xfbff0000)はうまくいかず、どちらもParseIntの仕事はできません。私はここで解決策を探しています。String = "0xfbff0000"を、Layout.setBackground(int i)で使用するint値に変換します。

変換時に発生する例外は、NUMBERFORMAT例外です。

が、私は私のレイアウトの背景を設定するには、この16進値を使用する必要が動的に

すなわちLayout.setBackground(int)

は私がString backgroundColor="0xfbff0000";

はこの変数backgroundColorを必要とするように見える文字列変数を持っていることを明確にしましょうLayout.Setbackground(int)

+0

whats that ..?色またはリソースIDのヘキサ10進数値.. – ngesh

+0

そのリソースからの16進数の色ではありません –

答えて

3

あなたはColor.parseColor(String)を使用することができますが、例えば#

に0xをプレフィックスを交換する必要があります。

​​
+0

まさに私の仕事をしました。 –

0

以下を試してください:

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

いいえ、同じ例外が発生します。Number Format Exception –

2
new Color().parseColor(colorString) 

は、その文字列を分割し、0xを削除し、上記の方法の引数で、残りを置きます..

+0

まさに、それは私の仕事でした。 –

関連する問題