在android中,我们经常会从一个activity将数据传递到另外的一个activity中,而且还要从另外的activity中获取返回的数据,

其实在android中有很多方法可以做到,比如使用Application或者是Bundle来进行数据传递.今天就看看使用Bundle来进

行数据传递的例子.

这个例子里面使用了Bundle从第一个activity传递了数据到第二个里面,而第二个处理完之后,又将数据返回给了第一个.

具体实现请看代码

---------------------ActivityBundle.java------------------------

import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.RadioButton;public class ActivityBundle extends Activity{private RadioButton rbMan;private RadioButton rbWoman;private EditText editHight;private Button btnOK;private double body_height;@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data){switch (resultCode){//结果返回case RESULT_OK://获取Bundle的数据Bundle bl= data.getExtras();String sex=bl.getString("sex");if (sex.equals("M")){rbMan.setChecked(true);}else{rbWoman.setChecked(true);}body_height=bl.getDouble("height");editHight.setText(""+body_height);break;default:break;}}@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);btnOK = (Button) findViewById(R.id.btn_calc);rbMan = (RadioButton) findViewById(R.id.radio_man);rbWoman = (RadioButton) findViewById(R.id.radio_woman);editHight = (EditText) findViewById(R.id.text_edit);btnOK.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){try{body_height = Double.parseDouble(editHight.getText().toString());}catch (Exception e){body_height = 0;}String sex = "";if (rbMan.isChecked()){sex = "M";}else{sex = "F";}//通过intent跳转到下一个页面.Intent intent = new Intent();intent.setClass(ActivityBundle.this, ResultActivity.class);//通过Bundle来获取数据,通过key-Value的方式放入数据Bundle bl = new Bundle();bl.putDouble("height", body_height);bl.putString("sex", sex);//将Bundle放入Intent传入下一个Activityintent.putExtras(bl);//跳到下一个Activity,并且等待其返回结果startActivityForResult(intent, 0);//不能够在这个Activity调用了startActivityForResult之后调用finsh()//否则无法接收到返回}});}}

-----------------------ResultActivity.java----------------------

import java.text.DecimalFormat;import java.text.NumberFormat;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class ResultActivity extends Activity{Bundle bl;Intent intent;Button btn;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.result);//获取到上一个页面传过来的Intentintent=this.getIntent();//获取Intent中的Bundle数据bl=intent.getExtras();String sex=bl.getString("sex");double height=bl.getDouble("height");String sexText="";if (sex.equals("M")){sexText="男性";}else{sexText="女性";}String weight=getWeight(sex,height);TextView tv1=(TextView)findViewById(R.id.TextView01);tv1.setText("你是一位"+sexText);TextView tv2=(TextView)findViewById(R.id.TextView02);tv2.setText("你的身高是"+height+"厘米");TextView tv3=(TextView)findViewById(R.id.TextView03);tv3.setText("你的标准体重是"+weight+"公斤");btn=(Button)findViewById(R.id.btn_back);btn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0){//将intent传会上一个ActivityResultActivity.this.setResult(RESULT_OK, intent);ResultActivity.this.finish();}});}private String format(double num){NumberFormat nf =new DecimalFormat("0.00");String s=nf.format(num);return s;}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;}}---------------mann.xml-----------------
<?xml version="1.0" encoding="utf-8"?><RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:paddingBottom="4dip"       android:paddingLeft="12dip"    android:paddingTop="4dip"    android:paddingRight="12dip"    ><TextView  android:id="@+id/title_view"    android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/hello"    /><TextViewandroid:id="@+id/text_title"android:layout_width="fill_parent"android:layout_height="wrap_content"android:textSize="20sp"android:layout_below="@+id/title_view"android:text="@string/str_text"/><TextViewandroid:id="@+id/text_weight"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20sp"android:layout_below="@+id/text_title"android:text="@string/str_weight"/><RadioGroup android:id="@+id/RadioGroup01" android:layout_width="wrap_content" android:layout_below="@+id/text_title"android:layout_toRightOf="@+id/text_weight" android:orientation="horizontal"android:checkedButton="@+id/radio_man"android:layout_height="wrap_content"><RadioButtonandroid:id="@+id/radio_man"android:text="@string/str_man"/><RadioButtonandroid:id="@+id/radio_woman"android:text="@string/str_woman"/></RadioGroup><TextViewandroid:id="@+id/text_height"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20sp"android:layout_below="@+id/RadioGroup01"android:text="@string/str_height"/><EditTextandroid:id="@+id/text_edit"android:layout_width="200dip"android:layout_height="wrap_content"android:layout_below="@+id/RadioGroup01"android:layout_toRightOf="@+id/text_height"android:numeric="decimal"/><Button android:layout_width="wrap_content" android:text="@string/str_calc" android:layout_below="@+id/text_edit" android:id="@+id/btn_calc" android:layout_toRightOf="@+id/text_height" android:layout_height="wrap_content"></Button><TextViewandroid:id="@+id/text_cm"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/RadioGroup01"android:textSize="20sp"android:layout_toRightOf="@+id/text_edit"android:text="@string/str_cm"/></RelativeLayout>

----------------result.xml-----------------

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content" android:layout_height="wrap_content"><TableLayout android:id="@+id/TableLayout01"android:layout_width="wrap_content" android:layout_height="wrap_content"><TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content"android:layout_height="wrap_content"><RelativeLayout android:id="@+id/RelativeLayout01"android:paddingLeft="12dip" android:paddingRight="12dip"android:paddingTop="10dip" android:paddingBottom="10dip"android:layout_width="wrap_content" android:layout_height="wrap_content"><TextView android:id="@+id/TextView01"android:layout_width="fill_parent" android:layout_height="wrap_content"android:textSize="20sp"></TextView></RelativeLayout></TableRow><TableRow android:id="@+id/TableRow02" android:layout_width="wrap_content"android:layout_height="wrap_content"><RelativeLayout android:id="@+id/RelativeLayout02"android:paddingLeft="12dip" android:paddingRight="12dip"android:paddingTop="10dip" android:paddingBottom="10dip"android:layout_width="wrap_content" android:layout_height="wrap_content"><TextView android:id="@+id/TextView02"android:layout_width="wrap_content" android:layout_height="wrap_content"android:textSize="20sp"></TextView></RelativeLayout></TableRow><TableRow android:id="@+id/TableRow03" android:layout_width="wrap_content"android:layout_height="wrap_content"><RelativeLayout android:id="@+id/RelativeLayout03"android:paddingLeft="12dip" android:paddingRight="12dip"android:paddingTop="10dip" android:paddingBottom="10dip"android:layout_width="wrap_content" android:layout_height="wrap_content"><TextView android:id="@+id/TextView03"android:layout_width="wrap_content" android:layout_height="wrap_content"android:textSize="20sp"></TextView></RelativeLayout></TableRow><TableRow android:id="@+id/TableRow04" android:layout_width="wrap_content"android:layout_height="wrap_content"><RelativeLayout android:id="@+id/RelativeLayout04"android:paddingLeft="12dip" android:paddingRight="12dip"android:paddingTop="10dip" android:paddingBottom="10dip"android:layout_width="wrap_content" android:layout_height="wrap_content"><TextView android:id="@+id/TextView04"android:layout_width="wrap_content" android:layout_height="wrap_content"android:textSize="20sp"></TextView></RelativeLayout></TableRow><TableRow android:id="@+id/TableRow05" android:layout_width="wrap_content"android:layout_height="wrap_content"><RelativeLayout android:id="@+id/RelativeLayout05"android:paddingLeft="40dip" android:paddingRight="40dip"android:paddingTop="10dip" android:paddingBottom="10dip"android:layout_width="wrap_content" android:layout_height="wrap_content"><Button android:text="@string/back_view" android:id="@+id/btn_back"android:layout_width="wrap_content" android:layout_height="wrap_content"></Button></RelativeLayout></TableRow></TableLayout></LinearLayout>

---------------AndroidManifest.xml----------------

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="activity.bundle"      android:versionCode="1"      android:versionName="1.0">    <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".ActivityBundle"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity android:name="ResultActivity"/>    </application></manifest> 

更多相关文章

  1. Android(安卓)使用Thread+Handler实现非UI线程更新UI界面
  2. Android(安卓)Adapter的那些事
  3. Android(安卓)之 Handler总结
  4. android之view获取getWidth()和getHeight()
  5. android开发中handler的总结
  6. Android之Adapter用法总结
  7. android之view获取getWidth()和getHeight()
  8. mybatisplus的坑 insert标签insert into select无参数问题的解决
  9. python起点网月票榜字体反爬案例

随机推荐

  1. 利用pytorch图像增广
  2. 使用python纯手写的一款音乐下载应用程序
  3. 【DB宝31】Oracle DG环境中主库使用rman
  4. JavaScript: 购物车全选自动计算金额和取
  5. 【DB笔试面试845】在Oracle中,sqlnet.ora
  6. 【DB笔试面试66】在Oracle中,关于锁,下列描
  7. 【DB笔试面试571】在Oracle中,如何提高DML
  8. 【DB笔试面试249】在Oracle中,生成备库控
  9. 容器 - container基本介绍和命令示范(5)
  10. 【DB笔试面试573】在Oracle中,常用Hint有