一:实验现象
二 实验代码
mainactivity
package com.example.weight;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
public class MainActivity extends Activity {
private Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = (Button) findViewById(R.id.button1);
final EditText edittext = (EditText) findViewById(R.id.editText1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
String a = edittext.getText().toString();
int height =Integer.parseInt(a);
double male_weight = (height-80)*0.7;
double famale_weight = (height-70)*0.6;
Intent intent = new Intent(MainActivity.this, ManActivity.class);
RadioButton male = (RadioButton) findViewById(R.id.male);
RadioButton famale = (RadioButton) findViewById(R.id.famale);
boolean clink1 = male.isChecked();
boolean clink2 = famale.isChecked();
if(clink1)
{
intent.putExtra("sex","你是一名"+male.getText()+"性\n");
intent.putExtra("height", "你的身高是" + a + "厘米\n");
intent.putExtra("weight", "你的标准体重是"+male_weight+"公斤");
}
if(clink2)
{
intent.putExtra("sex","你是一名"+famale.getText()+"性\n");
intent.putExtra("height", "你的身高是" + a + "厘米\n");
intent.putExtra("weight", "你的标准体重是"+famale_weight+"公斤");
}
startActivity(intent);
}
});
}
@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;
}
}
manactivity
package com.example.weight;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
public class ManActivity extends MainActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_man);
TextView textview =(TextView) this.findViewById(R.id.manacticity);
Intent intent =getIntent();
String sex =intent.getStringExtra("sex");
String height =intent.getStringExtra("height");
String weight =intent.getStringExtra("weight");
textview.setText(sex+height+weight);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.man, menu);
return true;
}
}
activity_main (layout)
<span style="font-size:14px;"><RelativeLayout 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=".MainActivity" >
<TextView
android:id="@+id/txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="27dp"
android:text="计算你的标准体重"
android:textAppearance="?android:attr/textAppearanceLarge" />
<RadioGroup
android:id="@+id/rg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/sex"
android:layout_toRightOf="@+id/sex"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男性" />
<RadioButton
android:id="@+id/famale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@+id/male"
android:text="女性" />
</RadioGroup>
<TextView
android:id="@+id/sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/txt"
android:layout_below="@+id/txt"
android:layout_marginTop="25dp"
android:text="性别"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/height"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/radioGroup1"
android:layout_marginLeft="30dp"
android:layout_marginTop="18dp"
android:text="身高"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/height"
android:layout_alignBottom="@+id/height"
android:layout_toRightOf="@+id/height"
android:ems="10"
android:inputType="number" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/sex"
android:text="计算" />
</RelativeLayout></span>
activity_man (layout)
<RelativeLayout 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=".ManActivity" >
<TextView
android:id="@+id/manacticity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
/>
</RelativeLayout>
三 实验体会
在mainactivity中定义button 和 edittext ,然后定义一个变量,传入身高,利用函数进行计算得出标准体重。在layout中radiobutton,要让用户在男性和女性中只能选择一个,就要用到radiogroup,把两个radiobutton放入radiogroup中。在activity中要选择性别,然后进行运算。点击性别,if语句来选择,用intent来传送数据,在manactivity中表示。
在manactivity中getintent,定义字符串接收传送的数据,最后用textview.setText来显示