使用Bundle在Activity间传递数据

源Activity

public class SourceActivty extends Activity { 
private Intent intent=null; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
intent=new Intent(); 
Bundle myBundelForName=new Bundle(); 
myBundelForName.putString("Key_Name","1111"); 
myBundelForName.putString("Key_Age","22"); 
intent.putExtras(myBundelForName); 
TextView text=(TextView)findViewById(R.id.test); 
text.setOnClickListener(new OnClickListener() { 
public void onClick(View v) { 
intent.setClass(SourceActivty.this, TargetActivty.class); 
startActivity(intent);


}); 
}

}

目标activty

public class TargetActivty extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.intest); 
TextView text=(TextView)findViewById(R.id.tt); 
//从Intent 中获取数据 
Bundle myBundelForGetName=this.getIntent().getExtras(); 
String name=myBundelForGetName.getString("Key_Name"); 
text.setText("欢迎您进入:"+name); 

}

从源请求Activity 中通过一个Intent 把一个服务请求传到目标Activity

源activty

private Intent openWelcomeActivityIntent = null; 
TextView text=null; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
openWelcomeActivityIntent = new Intent(); 
// 设定开启的下一个Activity 
text=(TextView)findViewById(R.id.test); 
text.setOnClickListener(new OnClickListener() { 
public void onClick(View v) { 
openWelcomeActivityIntent.setClass(SourceActivty1.this, 
TargetActivty1.class); 
startActivityForResult(openWelcomeActivityIntent, 1);


});

}

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
super.onActivityResult(requestCode, resultCode, data); 
if (requestCode == 1) { 
if (resultCode == RESULT_CANCELED) { 
setTitle("Cancel****"); 
} else if (resultCode == RESULT_OK) { 
Bundle showBundle = data.getExtras();// 从返回的Intent中获得Bundle 
text.setText("the name get from the second layout:\n" + showBundle.getString("myName")); 



}

☻ 第一个参数是你开启请求Intent时的对应请求码,可以自己定义。 
☻ 第二个参数是目标Activity返回的验证结果码 
☻ 第三个参数是目标Activity返回的Intent

目标activty

public class TargetActivty1 extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.intest); 
Intent backIntent=new Intent(); 
Bundle stringBundle=new Bundle(); 
stringBundle.putString("myName", "lishiyao"); 
backIntent.putExtras(stringBundle); 
setResult(RESULT_OK, backIntent);//返回Activity结果码 
finish(); 
}

}

使用Bundle在Activity间传递数据的更多相关文章

  1. Android学习手记(3) Activity间传递数据

    1. 简单数据传递 建立两个Activity,名称分别为MainActivity和TheAty,在MainActivity中新建一个Button,id为btnStartAty.在TheAty中新建一个 ...

  2. Activity间传递数据

     1.从当前的Activity传递数据到下一个Activity: (1)发送方(当前的Activity): Bundle bundle = new Bundle(); bundle.putString ...

  3. Android广播接收器和Activity间传递数据

    Activity向广播接收器传递数据很简单,只需要在发送广播前将数据put进Intent中就行了. 广播接收器怎么向Activity传送数据?这里要用到接口,通过在广播接收器里定义一个接口,然后让接收 ...

  4. 利用Bundle在activity之间传递对象

    (2010-12-04 09:45:54) 转载▼ 标签: it 分类: android开发 转自:http://chen592969029.javaeye.com/blog/772656 假如需要在 ...

  5. Activity之间传递数据或数据包Bundle,传递对象,对象序列化,对象实现Parcelable接口

    package com.gaojinhua.android.activitymsg; import android.content.Intent; import android.os.Bundle; ...

  6. 第一课android开发之在activity间传递参数

    一.活动间简单参数传递:1.在布局中添加按钮,用<Button,用id设置id名称,id="@+id/这儿填写你要设置成的名称":用text设置按钮上显示的文字.text=& ...

  7. Activity之间传递数据的方式及常见问题总结

    Activity之间传递数据一般通过以下几种方式实现: 1. 通过intent传递数据 2. 通过Application 3. 使用单例 4. 静态成员变量.(可以考虑 WeakReferences) ...

  8. 28、activity之间传递数据&批量传递数据

    import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android ...

  9. 【Android 复习】 : Activity之间传递数据的几种方式

    在Android开发中,我们通常需要在不同的Activity之间传递数据,下面我们就来总结一下在Activity之间数据传递的几种方式. 1. 使用Intent来传递数据 Intent表示意图,很多时 ...

随机推荐

  1. 使用Cookie保存用户和密码然后自动登录

    login.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  2. aFlex脚本入门

    aFlex脚本入门 来源:http://blog.51cto.com/virtualadc/599194 来源:http://blog.51cto.com/virtualadc/624219 对于A1 ...

  3. 研华 FWA-3231 单路E3平台

    研华 FWA-3231 单路E3平台 服务器主板上芯片组与处理器的适配参考

  4. thr [树链剖分+dp]

    题面 思路 首先,可以有一个$dp$的思路 不难发现本题中,三个点如果互相距离相同,那么一定有一个"中心点"到三个点的距离都相同 那么我们可以把本题转化计算以每个点为根的情况下,从 ...

  5. [poj] 3057 Evacuation

    原题 题目大意 墙壁"X",空区域(都是人)".", 门"D". 人向门移动通过时视为逃脱,门每秒能出去一个人,人可以上下左右移动,墙阻止移 ...

  6. BZOJ 3932: [CQOI2015]任务查询系统 | 主席树练习题

    题目: 洛谷也能评测 题解: De了好长时间BUG发现是自己sort前面有一行for没删,气死. 题目询问第x秒时候前k小的P值之和. 朴素想法: 我们可以把P值离散化,然后对于每个时刻建一棵定义域是 ...

  7. HDU 4746 HDOJ Mophues 2013杭州网赛I题

    比赛的时候就预感到这题能出,但是会耗时比较多.结果最后是出了,但是有更简单的题没出. 是不是错误的决策呢?谁知道呢 题目意思: 定义f(x) = x分解质因数出来的因子个数 如 x = p0 * p0 ...

  8. Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例

    如何用一条sql语句实现批量更新?mysql并没有提供直接的方法来实现批量更新,但是可以用点小技巧来实现. 复制代码 代码如下: UPDATE mytable SET myfield = CASE i ...

  9. html li css选中状态切换

    思路:点击当前li元素后是用removeClass()删除所有兄弟元素(使用siblings()获取)的class样式,然后使用addClass()为当前li添加class. 具体演示如下: 1.HT ...

  10. Welcome to Workrave

    Welcome to Workrave Workrave is a free program that assists in the recovery and prevention of Repeti ...