fragment_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.xwy.jisuan.MainActivity$PlaceholderFragment"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="20px"
android:text="计算您的标准体重" />
<LinearLayout
android:id="@+id/linearLayout1"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别:" />
<RadioGroup
android:id="@+id/sex"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="男" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout1"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="身高:" />
<EditText
android:id="@+id/stature"
android:minWidth="100px"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="cm" />
</LinearLayout>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定" />
</LinearLayout>
result.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10px"
android:text="性别" />
<TextView
android:id="@+id/stature"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10px"
android:text="身高" />
<TextView
android:id="@+id/weight"
android:padding="10px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="标准体重" />
</LinearLayout>
MianActivity.java
package com.xwy.jisuan;
import android.support.v4.app.Fragment;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
Button button=(Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Info info=new Info(); //实例化一个保存输入基本信息的对象
if("".equals(((EditText)findViewById(R.id.stature)).getText().toString())){
Toast.makeText(MainActivity.this, "请输入您的身高,否则不能计算!", Toast.LENGTH_SHORT).show();
return;
}
int stature=Integer.parseInt(((EditText)findViewById(R.id.stature)).getText().toString());
RadioGroup sex=(RadioGroup)findViewById(R.id.sex); //获取设置性别的单选按钮组
//获取单选按钮组的值
for(int i=0;i<sex.getChildCount();i++){
RadioButton r=(RadioButton)sex.getChildAt(i); //根据索引值获取单选按钮
if(r.isChecked()){ //判断单选按钮是否被选中
info.setSex(r.getText().toString()); //获取被选中的单选按钮的值
break; //跳出for循环
}
}
info.setStature(stature); //设置身高
Bundle bundle=new Bundle(); //实例化一个Bundle对象
bundle.putSerializable("info", info); //将输入的基本信息保存到Bundle对象中
Intent intent=new Intent(MainActivity.this,ResultActivity.class);
intent.putExtras(bundle); //将bundle保存到Intent对象中
startActivity(intent); //启动intent对应的Activity
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
}
}
Info.java
package com.xwy.jisuan;
import java.io.Serializable;
public class Info implements Serializable {
private static final long serialVersionUID = 1L;
private String sex=""; //性别
private int stature=0; //身高
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getStature() {
return stature;
}
public void setStature(int stature) {
this.stature = stature;
}
}
ResultActivity.java
package com.xwy.jisuan;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class ResultActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result); //设置该Activity使用的布局
TextView sex=(TextView)findViewById(R.id.sex); //获取显示性别的文本框
TextView stature=(TextView)findViewById(R.id.stature); //获取显示身高的文本框
TextView weight=(TextView)findViewById(R.id.weight); //获取显示标准体重的文本框
Intent intent=getIntent(); //获取Intent对象
Bundle bundle=intent.getExtras(); //获取传递的数据包
Info info=(Info)bundle.getSerializable("info"); //获取一个可序列化的info对象
sex.setText("您是一位"+info.getSex()+"士"); //获取性别并显示到相应文本框中
stature.setText("您的身高是"+info.getStature()+"厘米"); //获取身高并显示到相应文本框中
weight.setText("您的标准体重是"+getWeight(info.getSex(),info.getStature())+"公斤"); //显示计算后的标准体重
}
/**
* 功能:计算标准体重
* @param sex
* @param stature
* @return
*/
private String getWeight(String sex,float stature){
String weight=""; //保存体重
NumberFormat format=new DecimalFormat();
if(sex.equals("男")){ //计算男士标准体重
weight=format.format((stature-80)*0.7);
}else{ //计算女士标准体重
weight=format.format((stature-70)*0.6);
}
return weight;
}
}
在Mainfest中配置
<activity
android:label="显示结果"
android:icon="@drawable/ic_launcher"
android:name=".ResultActivity"></activity>