2017-09-20 3 views
-1

표시되는 값의 색상을 변경하고 싶지만 이중 값일 경우 < 피연산자를 사용하여 if 조건문을 작성할 수 없습니다. 표시된 값은 BAC 수준이므로 원하는 경우에도 int 값을 갖기 위해 전체 프로그램을 다시 작성할 수 없습니다. BAC가 0.8보다 작 으면 색상이 녹색으로 표시되어야하고 0.7보다 큰 경우 빨간색이어야합니다. 도움!자바에서 표시된 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