该项目训练的是Intent的使用方法。关键是两个activity之间的数据传输。
用到的RadioGroup组件,此组件需要获取男女这两个值。
主要代码:
clickButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String name = nameText.getText().toString();
sex01 = (RadioButton) findViewById(R.id.RB01);
if (sex01.isChecked()) {
} else {
sex = "F";
}
//此处为跳转页面的代码
Intent intent = new Intent();
intent.setClass(MainActivity.this, ShowActivity.class);
intent.putExtra("name", name);
intent.putExtra("sex", sex);
startActivity(intent);
finish();//防止堆栈
}
});
其中的clickButton是Button类型的。sex的初始值为M。这以上是Mainactivity页面的主要代码
//接收到Mainactivity页面传过来的值
Intent intent = getIntent();
String sex=intent.getStringExtra("sex");
String name = intent.getStringExtra("name"); // 获得输入的身高
int s = Integer.parseInt(name);
showResult = (TextView) findViewById(R.id.showResult);
if (sex.equals("M")) {
float s1 = (float) ((s - 80) * 0.7);//男生体重计算方法、
showResult.setText("你是个男性,你的身高是" + name + "标准体重"+s1);
} else {
float s2 = (float) ((s - 70) * 0.6);//女生体重计算方法
showResult.setText( "你是个女性,你的身高是" + name + "标准体重"+s2);
}
这个是showActivity页面的主要代码
activity_main的布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
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:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<RadioGroup
android:id="@+id/RadioGroup01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sex" />
<RadioButton
android:id="@+id/RB01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/RB01" />
<RadioButton
android:id="@+id/RB02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/RB02" />
</RadioGroup>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/shengao" />
<EditText
android:id="@+id/shengao"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="计算" />
</LinearLayout>
activity_main2的布局代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" 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=".ShowActivity" > <TextView android:id="@+id/showResult" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>