android学习:学着写的BMI代码

package com.demo.android.bmi;


import java.text.DecimalFormat;

import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.View.OnClickListener;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class Bmi extends Activity {
 /** Called when the activity is first created. */

 private Button button_calc;
 private EditText field_height;
 private EditText field_weight;
 private TextView view_result;
 private TextView view_suggest;
 protected static final int MENU_ABOUT=Menu.FIRST;
 protected static final int MENU_QUIT=Menu.FIRST+1;
 protected static final int TIPS=Menu.FIRST+2;

 @Override
 public boolean onCreateOptionsMenu(Menu menu){
  super.onCreateOptionsMenu(menu);
  menu.add(0,MENU_ABOUT,0,"关于...(A)")
  .setIcon(android.R.drawable.ic_menu_help)
  .setAlphabeticShortcut('A');
  menu.add(0,MENU_QUIT,0,"结束(Q)")
  .setIcon(android.R.drawable.ic_menu_close_clear_cancel)
  .setAlphabeticShortcut('Q');
  menu.add(0,TIPS,0,"提示")
  .setIcon(R.drawable.icon_128);
  return super.onCreateOptionsMenu(menu);
 }
  
 @Override
 public boolean onOptionsItemSelected(MenuItem item){
  switch(item.getItemId()){
  case MENU_ABOUT:
   openOptionsDialog();
   break;
  case MENU_QUIT:
   finish();
   break;
  case TIPS:
   Toast.makeText(Bmi.this, "提示信息", Toast.LENGTH_SHORT).show();
   break;
  }
  return super.onOptionsItemSelected(item);
 }

 private void openOptionsDialog() {
  // TODO Auto-generated method stub
  //Toast.makeText(Bmi.this, "BMI 计算", Toast.LENGTH_SHORT).show();
  new AlertDialog.Builder(Bmi.this)
   .setTitle(R.string.about_title)
   .setMessage(R.string.about_msg)
   .setNegativeButton(R.string.homepage, new DialogInterface.OnClickListener(){
    public void onClick(DialogInterface dialog, int i) {
     try{
     Uri uri=Uri.parse(getString(R.string.url));
     Intent intent =new Intent(Intent.ACTION_VIEW,uri);
     startActivity(intent);
     }catch(Exception e){
      
     }
    }      
   })
   .setPositiveButton(R.string.ok_lable,new DialogInterface.OnClickListener(){
    public void onClick(DialogInterface dialog, int i) {}
   })
   .show();
 
 }

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  // Listen for button clicks
  // Button button = (Button) findViewById(R.id.submit);
  // button.setOnClickListener(calcBMI);
  findViews();
  setListeners();
 }

 private void findViews() {
  // TODO Auto-generated method stub
  button_calc = (Button) findViewById(R.id.submit);
  field_height = (EditText) findViewById(R.id.height);
  field_weight = (EditText) findViewById(R.id.weight);
  view_result = (TextView) findViewById(R.id.result);
  view_suggest = (TextView) findViewById(R.id.suggest);
 }

 private void setListeners() {
  // TODO Auto-generated method stub
  button_calc.setOnClickListener(calcBMI);
 }

 private Button.OnClickListener calcBMI = new Button.OnClickListener() {
  public void onClick(View v) {
   DecimalFormat nf = new DecimalFormat("0.00");
   try {
    double height = Double.parseDouble(field_height.getText()
      .toString()) / 100;
    double weight = Double.parseDouble(field_weight.getText()
      .toString());
    double BMI = weight / (height * height);
    view_result.setText("YourBMI is " + nf.format(BMI));

    // Give health advice
    if (BMI > 25) {
     view_suggest.setText(R.string.advice_heavy);
    } else if (BMI < 20) {
     view_suggest.setText(R.string.advice_light);
    } else {
     view_suggest.setText(R.string.advice_average);
    }
//    openOptionsDialog();
   } catch (Exception e) {
    view_result.setText("");
    view_suggest.setText("");
    Toast.makeText(Bmi.this, "打错了吧?", Toast.LENGTH_SHORT).show();
   }
  }
 };
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值