将字符串传递给活动的服务

问题描述:

好的,所以我有一个活动。在活动中有一个textview和一个按钮。该按钮启动一个ColorPicker,当选择颜色时,它将把十六进制值放在文本视图中。将字符串传递给活动的服务

现在,在一个服务中,我试图将字符串转换为颜色int。然后从textview中设置一个imageview背景颜色的十六进制值。看下面的例子...

在我的main.xml中我有一个textview和一个按钮。 Textview将在其文本中设置十六进制值。


在我的服务中,我有一个imageview。要设置imageview的背景颜色,我从主视图中的textview中获取了文本,然后创建了一个字符串。然后我把它转换成一个Int。但是,当我干将颜色设置为背景时,它会强制关闭!

`BatteryBarTop = (ImageView) view.findViewById(R.id.battery_bar_top); 
String tbColor = Setting.ColorValue.getText().toString(); 
int color = Color.parseColor(tbColor); 
BatteryBarTop.setBackgroundResource(color);` 

如果我把一个十六进制值作为“颜色”,它将完美工作。但我需要从textview的十六进制值是颜色,因为它可以在需要时更改...

您正在呼吁setBackgroundResource()。这需要一个资源ID。使用setBackgroundColor()设置颜色。

+0

傻我大声笑。那就是诀窍 – user1190019 2012-03-27 05:42:10

BatteryBarTop = (ImageView) view.findViewById(R.id.battery_bar_top); 
    String value = Setting.ColorValue.getText().toString(); 
    int setColor = Integer.parseInt(value); 

    try { 
     BatteryBarTop.setBackgroundColor(setColor); 
    } 
    catch (NumberFormatException e) 
    { 
     // handle the exception 
    }