更改java中显示的double值的颜色

时间:2017-09-20 19:43:31

标签: java android xml android-studio sdk

我想更改显示值的颜色,但它是双倍的,我无法使用<操作数写一个if条件。 显示的值是BAC级别,因此即使我愿意,也无法重写整个程序以获取int值。如果BAC小于0.8,则颜色应显示为绿色,如果大于0.7则应为红色。帮助!

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_final);

    Button backHome = (Button) findViewById(R.id.goHome);
    TextView bloodAlcoholContent = (TextView) findViewById(R.id.bloodAlcoholContent);


    Bundle f = getIntent().getExtras();
    Bundle m = getIntent().getExtras();
    final Double sendThisF = f.getDouble("actualBacF");
    final Double sendThisM = m.getDouble("actualBacM");

    if (m.containsKey("actualBacM")) {
        String displayBac = String.format("%.2f", sendThisM);

        //I would like to put if statement here but it is not allowed
        if (displayBac < 0.8) {

        }
    }

    else if (f.containsKey("actualBacF")) {
        String displayBac = String.format("%.2f", sendThisF);
        bloodAlcoholContent.setText(displayBac);
    }
}

1 个答案:

答案 0 :(得分:1)

您正在比较字符串和数字。那甚至不会编译。将displayBac更改为sendThisM,这是感兴趣的实际数值。

if (sendThisM < 0.8) {
}

当您使用它时,您可能希望为变量提供比sendThisM更具描述性的名称。