根据google官方的文档(http://developer.android.com/reference/android/os/Bundle.html)

Bundle类是一个key-value对,“A mapping from String values to various Parcelable types.

类继承关系:

java.lang.Object
android.os.Bundle

Bundle类是一个final类:
public final class
Bundle
extends Objectimplements Parcelable Cloneable

两个activity之间的通讯可以通过bundle类来实现做法就是:

(1)新建一个bundle类

  1. BundlemBundle=newBundle();
(2)bundle类中加入数据(key -value的形式,另一个activity里面取数据的时候,就要用到key,找出对应的value)
  1. mBundle.putString("Data","datafromTestBundle");

(3)新建一个intent对象,并将该bundle加入这个intent对象
Intent intent = new Intent();    intent.setClass(TestBundle.this, Target.class);    intent.putExtras(mBundle);  


完整代码如下:

android mainfest.xml如下:

<?xml version="1.0" encoding="utf-8"?>  <manifest xmlns:android="http://schemas.android.com/apk/res/android"        package="com.tencent.test"        android:versionCode="1"        android:versionName="1.0">      <application android:icon="@drawable/icon" android:label="@string/app_name">          <activity android:name=".TestBundle"                    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=".Target"></activity>      </application>      <uses-sdk android:minSdkVersion="7" />  </manifest>   


两个类如下:intent从TestBundle类发起,到Target类。

类1:TestBundle类:

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;    public class TestBundle extends Activity {              private Button button1;      private OnClickListener cl;       public void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.main);                    button1 = (Button) findViewById(R.id.button1);          cl = new OnClickListener(){              @Override              public void onClick(View arg0) {                  // TODO Auto-generated method stub                  Intent intent = new Intent();                    intent.setClass(TestBundle.this, Target.class);                    Bundle mBundle = new Bundle();                    mBundle.putString("Data", "data from TestBundle");//压入数据                    intent.putExtras(mBundle);                    startActivity(intent);              }          };          button1.setOnClickListener(cl);      }  }    


类2: Target
import android.app.Activity;    import android.os.Bundle;      public class Target extends Activity{          public void onCreate(Bundle savedInstanceState) {                      super.onCreate(savedInstanceState);            setContentView(R.layout.target);            <span style="color:#ff6600;">Bundle bundle = getIntent().getExtras();   </span> //得到传过来的bundle          String data = bundle.getString("Data");//读出数据            setTitle(data);          }    }    


布局文件:

main.xml

<?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:orientation="vertical"      android:layout_width="fill_parent"      android:layout_height="fill_parent"      >  <TextView        android:layout_width="fill_parent"       android:layout_height="wrap_content"       android:text="@string/hello"      />  <Button        android:layout_width="fill_parent"       android:layout_height="wrap_content"       android:text="@string/button"      android:id = "@+id/button1"      />   </LinearLayout>  


target.xml
<?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:orientation="vertical"      android:layout_width="fill_parent"      android:layout_height="fill_parent"      >  <TextView        android:layout_width="fill_parent"       android:layout_height="wrap_content"       android:text="@string/target"      />  </LinearLayout>  


String.xml

 <?xml version="1.0" encoding="utf-8"?>  <resources>      <string name="hello">Hello World, TestBundle!</string>      <string name="app_name">测试Bundle用法</string>      <string name="button">点击跳转</string>      <string name="target">来到target activity</string>  </resources>  

结果:

跳转结果:


http://blog.csdn.net/randyjiawenjie/article/details/6651437

更多相关文章

  1. **android studio 编写淘宝界面## 标题**
  2. android ImagView缩放方法之一(Bitmap)
  3. Android监听未接来电
  4. Android创建快捷方式(shortcut)
  5. android 使用数据库事务提高操作效率
  6. Android(安卓)http POST
  7. android如何获取后台正在运行的service
  8. mybatisplus的坑 insert标签insert into select无参数问题的解决
  9. python起点网月票榜字体反爬案例

随机推荐

  1. 婚恋项目后台页面
  2. 控制器和路由
  3. PHP mysql 新增时存在则修改,不存在则新
  4. 意派Epub360丨中秋节高质量借势H5小游戏
  5. 轻微课学员作业成长分享贴,打卡共勉(02)
  6. 模板的应用
  7. PHP变量类型及类型转换
  8. 追格圈子小程序(多端+知识付费+微信小商店
  9. php-04条件分支与循环结构
  10. PHP-03变量与常量