2017-09-20 6 views
-1

表示された値の色を変更したいのですが、ダブルであり、<オペランドを使用してif条件を記述することができません。 表示されている値はBACレベルなので、プログラム全体をint値にすることはできません。 BACが0.8未満の場合、色は緑色で表示され、0.7より大きい場合は赤色になります。助けて!Javaで表示されるdouble値の色を変更しました

@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); 
    } 
} 
+0

質問のタイトルを誤解を招くように変更する必要があります。 "Javaで表示される倍値の色を変更する"とは、色を変更するのに問題があることを意味します。そうではありません。 – EJK

+0

色の変更に問題があります。コードは、私が色を編集したくない場合にうまく動作します – 7kevin

+0

@ 7kevinいいえ、数値を比較するif文を書くのは難しかったです。 if文があなたの質問に無関係であるとしたいこと。この違いが重要な理由は、数字を比較するのに問題がある他の人々がそれを見つけられないだろうが、実際の色の変化に問題がある人は、助けられないということです。 –

答えて

1

文字列と数字を比較しています。それもコンパイルされません。 displayBacsendThisMに変更します。実際の数値です。

if (sendThisM < 0.8) { 
} 

あなたがそれである間は、変数にsendThisMより説明的な名前を与えたいと思うかもしれません。

+0

コンパイルします。コードは私が色を変えたいと思ってもうまく動作しません – 7kevin

+0

ねえ、あなたのソリューションは赤い線が消える原因になりました。ありがとうございます!!! – 7kevin

関連する問題