[英]Pass string to a service from activity
好了,所以我有一个活动。 在活动中,有一个textview和一个按钮。 该按钮将启动ColorPicker,选择颜色后,它将在文本视图中放置十六进制值。
现在,在一项服务中,我试图将字符串转换为color int。 然后将imageview的背景颜色设置为textview的十六进制值。 请参阅下面的示例...
在我的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()
设置颜色。
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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.