2014-03-12 262 views
-1

這是我再次...我想問如何使我的「按鈕」(calculateButton)不起作用,如果用戶不會輸入他們的體重&高度...或用戶不輸入自己的體重或他們的身高...希望你可以幫我...感謝..在BMI計算器中計算按鈕

這裏是我的calculateButton代碼:

public void calculateClickHandler(View view) { 

    if (view.getId() == R.id.calculateButton) { 

       } 

     EditText weightText = (EditText) findViewById(R.id.weightT); 
     EditText heightText = (EditText)findViewById(R.id.heightT); 
     TextView resultText = (TextView)findViewById(R.id.resultLabel); 
     TextView categoryText = (TextView)findViewById(R.id.categoryLabel); 
     rGroup = (RadioGroup)findViewById(R.id.rGroup); 


    int weight = (int) Float.parseFloat(weightText.getText().toString()); 
    int height = (int) Float.parseFloat(heightText.getText().toString()); 
     int bmiValue = calculateBMI(weight, height); 

    String bmiInterpretation = interpretBMI(bmiValue); 

    resultText.setText("Your BMI is:" + " " + bmiValue + " " + "and you're"); 
     categoryText.setText(bmiInterpretation + ".");} 
+0

檢查出來的[文件](http://docs.oracle.com/javase/tutorial/java /nutsandbolts/if.html)。 – 323go

回答

1

你需要在你的代碼中插入「驗證」。在執行任何操作之前,基本檢查EditText中的string的值。

喜歡的東西:

rGroup = (RadioGroup)findViewById(R.id.rGroup); 

if(!weightText.getText().toString.equals(" ")){ 
    int weight = (int) Float.parseFloat(weightText.getText().toString()); 
    int height = (int) Float.parseFloat(heightText.getText().toString()); 
     int bmiValue = calculateBMI(weight, height); 
    } 

參見:
Android, Validate an empty EditText field
https://sites.google.com/site/khetiyachintan/sample-example/edit-text-validation-example
Android EditText validation

+0

我在「.toString!= null」中出現錯誤...它說的toString無法解析,或者它不是字段... – Deloy

+0

@deloy這是你放置代碼的地方,只是給了你一個想法,請研究一下還有一些關於來自其他鏈接的驗證和相關代碼 – user2450263