【问题标题】:Converting String ="0xfbff0000" to int value for using it in Layout.setBackground(int i);将 String ="0xffff0000" 转换为 int 值以便在 Layout.setBackground(int i) 中使用它;
【发布时间】:2012-03-06 10:36:23
【问题描述】:

现在,起初这似乎相当简单,但我花了很多时间。 Integer.valueOf(0xfbff0000) 不起作用,ParseInt 也不起作用,我在这里拼命寻找解决方案。

我在转换它们时遇到的异常是 NUMBERFORMAT 异常。

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

Layout.setBackground(int)

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

需要此变量backgroundColor 用作Layout.Setbackground(int) 中的整数

【问题讨论】:

  • 那是什么..?颜色或资源 ID 的十六进制值..
  • 它不是来自资源的十六进制颜色

标签: android string layout integer background-color


【解决方案1】:

您可以使用Color.parseColor(String),但您需要将 0x 前缀替换为 #

例如:

Color.parseColor("#fbff0000");

【讨论】:

    【解决方案2】:
    new Color().parseColor(colorString)
    

    拆分该字符串并删除 0x 并将其余部分放入上述方法 args..

    【讨论】:

      【解决方案3】:

      尝试以下方法:

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

      【讨论】:

      • 不,我得到相同的异常数字格式异常
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多