更改Textview颜色

时间:2014-01-14 21:51:43

标签: android colors textview

我正在尝试此代码 我正在从一个教程中学习,我发现在线编码车速表android

 String strCurrentSpeed = fmt.toString();
    strCurrentSpeed = strCurrentSpeed.replace(' ', '0');

    String strUnits = "Km/h";
    if (this.useMetricUnits())
    {
      strUnits = "m/s";
    }
    Typeface mytxt = Typeface.createFromAsset(getAssets(), "DS-DIGIB.TTF");
    TextView txtCurrentSpeed = (TextView) this.findViewById(R.id.txtCurrentSpeed);
    txtCurrentSpeed.setText(strCurrentSpeed + " " + strUnits);
    txtCurrentSpeed.setTypeface(mytxt);

    int speed = Integer.parseInt(strCurrentSpeed + " " );
    if(speed <= 70){
        txtCurrentSpeed.setTextColor(getResources().getColor(R.color.backcolor_overspeed));
    }

我正在获取RunTImeException java.lang.NumberFormatException:Int:000.0无效

我还是新编码。 谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

RunTimeException java.lang.NumberFormatException :invalid Int: 000.0

由以下原因引起:

int speed = Integer.parseInt(strCurrentSpeed + " " );

或更具体地说:

Integer.parseInt(strCurrentSpeed + " " )

这意味着Java不同意你,000.0是一个整数。由于它包含一个点,因此它不再是整数(整数),而是一个浮点数。使用:

Float.parseFloat(strCurrentSpeed)

代替。

答案 1 :(得分:0)

这一行是你的问题

 int speed = Integer.parseInt(strCurrentSpeed + " " );

不应该有任何空格,Integer.parseInt方法将String转换为数字,前提是此字符串没有“非数字”字符,并且仅限于一个字符。 (小数点)

因为您的额外字符是空格,所以您看不到显示此错误...