您的位置:首页 > 移动开发 > Android开发

android学习:学着写的BMI代码

2011-01-14 01:20 267 查看
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();
}
}
};
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: