1、MainActivity.java
1 package example.bmi; 2 3 import java.text.DecimalFormat; 4 5 import android.os.Bundle; 6 import android.app.Activity; 7 import android.view.Menu; 8 import android.view.View; 9 import android.view.View.OnClickListener; 10 import android.widget.Button; 11 import android.widget.EditText; 12 import android.widget.TextView; 13 14 public class MainActivity extends Activity { 15 16 @Override 17 protected void onCreate(Bundle savedInstanceState) { 18 super.onCreate(savedInstanceState); 19 setContentView(R.layout.activity_main); 20 21 findViews(); 22 setListensers(); 23 } 24 private Button button_calc; 25 private EditText field_height; 26 private EditText field_weight; 27 private TextView view_result; 28 private TextView view_suggest; 29 private void findViews() 30 { 31 button_calc=(Button)findViewById(R.id.submit); 32 field_height=(EditText)findViewById(R.id.height); 33 field_weight=(EditText)findViewById(R.id.weight); 34 view_result=(TextView)findViewById(R.id.result); 35 view_suggest=(TextView)findViewById(R.id.suggest); 36 } 37 private void setListensers() 38 { 39 button_calc.setOnClickListener(calcBMI); 40 } 41 private Button.OnClickListener calcBMI=new Button.OnClickListener() 42 { 43 public void onClick(View v) 44 { 45 DecimalFormat nf=new DecimalFormat("0.00"); 46 double height=Double.parseDouble(field_height.getText().toString())/100; 47 double weight=Double.parseDouble(field_weight.getText().toString()); 48 double BMI=weight/(height*height); 49 view_result.setText(getText(R.string.bmi_result)+nf.format(BMI)); 50 //give health advice 51 if(BMI>25) 52 { 53 view_suggest.setText(R.string.advice_heavy); 54 } 55 else if(BMI<20) 56 { 57 view_suggest.setText(R.string.advice_light); 58 } 59 else 60 { 61 view_suggest.setText(R.string.advice_average); 62 } 63 } 64 }; 65 66 @Override 67 public boolean onCreateOptionsMenu(Menu menu) { 68 // Inflate the menu; this adds items to the action bar if it is present. 69 getMenuInflater().inflate(R.menu.activity_main, menu); 70 return true; 71 } 72 73 }
2、显示结果