繁体   English   中英

通过活动将字符串传递给服务

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM