android中的bundle传送数据
2883 点击·0 回帖
![]() | ![]() | |
![]() | activity1.xml <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:id="@+id/widget0" Android:layout_width="fill_parent" Android:layout_height="fill_parent" > <TextView Android:id="@+id/title" Android:layout_width="243px" Android:layout_height="29px" Android:text="@string/title" Android:textSize="24sp" Android:layout_x="36px" Android:layout_y="32px" /> <TextView Android:id="@+id/text1" Android:layout_width="wrap_content" Android:layout_height="37px" Android:text="@string/text1" Android:textSize="18sp" Android:layout_x="40px" Android:layout_y="156px" /> <TextView Android:id="@+id/text2" Android:layout_width="wrap_content" Android:layout_height="29px" Android:text="@string/text2" Android:textSize="18sp" Android:layout_x="40px" Android:layout_y="102px" /> <TextView Android:id="@+id/text3" Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:text="cm" Android:textSize="18sp" Android:layout_x="231px" Android:layout_y="157px" /> <Button Android:id="@+id/button1" Android:layout_width="70px" Android:layout_height="48px" Android:layout_x="130px" Android:layout_y="232px" Android:text="计算" /> <RadioGroup Android:id="@+id/sex" Android:layout_width="300px" Android:layout_height="100px" xmlns:Android="http://schemax.Android.com/apk/res/Android" Android:layout_x="97px" Android:layout_y="98px" Android:orientation="horizontal" Android:checkedButton="@+id/sex1"> <RadioButton Android:id="@+id/sex1" Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:text="男的" /> <RadioButton Android:id="@+id/sex2" Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:text="女的" /> </RadioGroup> <EditText Android:id="@+id/height" Android:layout_width="130px" Android:layout_height="wrap_content" Android:textSize="18sp" Android:layout_x="96px" Android:layout_y="142px" Android:numeric="decimal"> </EditText>" </AbsoluteLayout> activity2.xml <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:layout_width="fill_parent" Android:layout_height="fill_parent" > <TextView Android:id="@+id/text1" Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:textSize="20sp" Android:layout_x="50px" Android:layout_y="72px" /> </AbsoluteLayout> Activity1.java package com.bund; import Android.app.Activity; import Android.content.Intent; import Android.os.Bundle; import Android.view.View; import Android.widget.Button; import Android.widget.EditText; import Android.widget.RadioButton; public class Activity1 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity1); Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { //取得输入的身高 www.atcpu.com EditText et = (EditText) findViewById(R.id.height); double height = Double.parseDouble(et.getText().toString()); //取得选择的性别 String sex = ""; RadioButton rb1 = (RadioButton) findViewById(R.id.sex1); if(rb1.isChecked()){ sex = "M"; }else{ sex = "F"; } Intent intent = new Intent(); intent.setClass(Activity1.this, Activity2.class); //new 一个Bundle对象,并将要传递的数据传入 Bundle bundle = new Bundle(); bundle.putDouble("height", height); bundle.putString("sex", sex); //将Bundle对象assign给Intent intent.putExtras(bundle); //调用Activity2 startActivity(intent); } }); } } activity2.java package com.bund; import java.text.DecimalFormat; import java.text.NumberFormat; import Android.app.Activity; import Android.os.Bundle; import Android.widget.TextView; public class Activity2 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //加载activity2.xml setContentView(R.layout.activity2); //得Intent中的Bundle对象 Bundle bunde = this.getIntent().getExtras(); //取得Bundle对象中的数据 String sex = bunde.getString("sex"); double height = bunde.getDouble("height"); //判断性别 String sexText = ""; if( sex.equals("M") ){ sexText = "男性"; }else{ sexText = "女性"; } //取得标准体重 String weight = this.getWeight(sex, height); //设置输入的文字 TextView tv1 = (TextView) findViewById(R.id.text1); tv1.setText("你是一位" + sexText + "\n你的身高是" + height + "厘米\n你的标准体重是"+weight+"公斤"); } //四舍五入 private String format(double num){ NumberFormat formatter = new DecimalFormat("0.00"); String s = formatter.format(num); return s; } //以findViewById()取得Button对象,并添加onClickListener private String getWeight(String sex,double height){ String weight = ""; if(sex.equals("M")){ weight = format((height-80)*0.7); }else{ weight = format((height-70)*0.6); } return weight; } } | |
![]() | ![]() |