2014-03-05 2 views
2

두 EditText가 비어 있는지 확인하는 방법은 무엇입니까? 많은 것을 시도했지만 아무 것도 작동하지 않습니다. 나는 EditText 중 하나가 비어있을 때 "Data Incomplete"라고 말하는 축배를 원한다. 나는 토스트 부분을 스스로 할 수있다. EditText 부분에 도움이됩니다.EditText가 모두 비어 있는지 확인하는 방법은 무엇입니까?

package com.maverick.mybmi; 

import android.app.Activity; 
import android.app.ProgressDialog; 
import android.os.Bundle; 
import android.view.Gravity; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 



public class MainActivity extends Activity { 

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


    final EditText entermass = (EditText) findViewById(R.id.entermass); 
    final EditText enterheight = (EditText) findViewById(R.id.enterheight); 
    Button BMI = (Button) findViewById(R.id.BMI); 
    BMI.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      double d = 0; 
      double mass = Double.valueOf(entermass.getText().toString());   
      double height = Double.valueOf(enterheight.getText().toString()); 
      double heightF; 
      heightF=height*0.3048; 
      double bmi = mass/(heightF*heightF); 
      d=bmi; 
      int display = (int) bmi; 

      Toast toast=Toast.makeText(getApplicationContext(), "Your BMI is " +display, Toast.LENGTH_LONG); 
      toast.setGravity(Gravity.CENTER_HORIZONTAL, 0, 0); 
      toast.show(); 
       if(d<15.0) 
       { 
        Toast.makeText(MainActivity.this,"You Are Very Severely Underweight", Toast.LENGTH_LONG).show(); 
       } 
       else if(d>=15.0 && d<=16.0){ 

       Toast.makeText(MainActivity.this,"You Are Severely Underweight", Toast.LENGTH_LONG).show(); 
       } 
       else if(d>=15.0 && d<=16.0){ 

       Toast.makeText(MainActivity.this,"You Are Severely Underweight", Toast.LENGTH_LONG).show(); 
       } 
      else if(d>=16.0 && d<=18.5){ 

       Toast.makeText(MainActivity.this,"You Are Severely Underweight", Toast.LENGTH_LONG).show(); 
       } 
      else if(d>=18.5 && d<=25.0){ 

       Toast.makeText(MainActivity.this,"You Are Normal (healthy weight)", Toast.LENGTH_LONG).show(); 
       } 
      else if(d>=25.0 && d<=30.0){ 

       Toast.makeText(MainActivity.this,"You Are Overweight", Toast.LENGTH_LONG).show(); 
       } 
      else if(d>=30.0 && d<=35.0){ 

       Toast.makeText(MainActivity.this,"You Are Obese Class I (Moderately obese)", Toast.LENGTH_LONG).show(); 
       } 
      else if(d>=35.0 && d<=40.0){ 

       Toast.makeText(MainActivity.this,"You Are Obese Class II (Severely obese)", Toast.LENGTH_LONG).show(); 
       } 
      else if(d>40.0){ 

       Toast.makeText(MainActivity.this,"You Are Obese Class III (Very severely obese)", Toast.LENGTH_LONG).show(); 
       } 
     } 


    }); 

};}; 

답변

4

당신은 gettext에() 메서드를 사용하고 텍스트를 얻기 위해 그것을의 toString()를 호출 할 수 있습니다.

if(TextUtils.isEmpty(entermass.getText().toString()) || TextUtils.isEmpty(enterheight.getText().toString())){ 
//enterheight or entermass is empty 
} 

+1

고마워요, 일하고 있어요! :-) –

+0

환영합니다! :-) –

4

TextUtils.isEmpty을 사용할 수 있습니다. 그것은 null 값과 빈 문자열을 검사하여 :

if (TextUtils.isEmpty(entermass.getText().toString())) { 
} 
+0

내가 넣어해야 TextView API :-)를 확인하는 것을 잊지 마십시오 "만약 (TextUtils.isEmpty (entermass.getText(). toString())) { }"는 OnClickListener를 부분 이전 ? –

+0

또한 onClick 내부에서 이중으로 변환하려고하기 직전에 검사가 true이면 단순히 반환합니다 – Blackbelt

+0

예! 그것은 효과가 있었다. 정말 고맙습니다. –

관련 문제