サーバーから16進カラー値を受信しています(この形式では#xxxxxx
、#000000
黒の例)
これを整数値に変換するにはどうすればよいですか?
Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))
さらに六角形の0x000000
結果を得るためにやってみましたが、これはint
ここでは解釈されません、他の提案はありますか?
エラーが発生しました: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer
私はそのsetBackgroundColor(int color)
機能にAndroidSDKを使用しています。これは、ご想像のとおり、整数の色の値を取ります。
これはこの質問の反対です:Androidでカラー整数を16進文字列に変換する方法は?
valueOf
文字列入力(もちろん#なし)と基数を指定する基数を指定する2つの引数の方法が必要です。Integer.valueOf(passedColor.substring(1, passedColor.length()), 16)
これは、任意の整数基数で実行できます。 download.oracle.com/javase/6/docs/api/java/lang/...、INT)