使用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. 孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块

    孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.datetime模块 dateti ...

  2. rownum浅谈(一)

    只要做web开发,几乎没有不需要分页查询的,在oracle中,rownum就是用来进行处理分页的. 1.rownum是oracle对结果集返回的一个伪列,也就是说是先查询完结果之后再加上的一个虚列,相 ...

  3. BZOJ 1912:[Apio2010]patrol 巡逻(树直径)

    1912: [Apio2010]patrol 巡逻 Input 第一行包含两个整数 n, K(1 ≤ K ≤ 2).接下来 n – 1行,每行两个整数 a, b, 表示村庄a与b之间有一条道路(1 ≤ ...

  4. Codeforces Round #387 (Div. 2) 747E

    这题本身是个水题,但是写了半天 题意就是给出一个树的生成方式,让你还原这棵树,然后按深度输出结点 这个还原过程还是比较有趣的(没有用递归) PS:getline的新姿势get #include < ...

  5. php实现二维码

    封装函数 function verifyImage($len=3){ //session_start(); $scr="abcdefghijklmnoqprstuvwxyzABCDEFJHI ...

  6. YYH的球盒游戏(NOIP模拟赛Round 6)

    题目描述 YYH有一些总共有种颜色的球,他有颜色的球个.他同样有个盒子,第个盒子能放个球. 他的目标是把这个球按规则放进个盒子里: 对于一个盒子,对于每种颜色的球至多只能放个. 把颜色为的球放进盒子, ...

  7. VIM使用技巧1

    .命令是vim中很重要的一个命令,用法如下: 加入有一个文件vimtest.txt,内容如下: 1 Line one  2 Line two                               ...

  8. Linux内核情景分析之异常访问,用户堆栈的扩展

    情景假设: 在堆内存中申请了一块内存,然后释放掉该内存,然后再去访问这块内存.也就是所说的野指针访问. 当cpu产生页面错误时,会把失败的线性地址放在cr2寄存器.线性地址缺页异常的4种情况 1.如果 ...

  9. (十二)C语言双指针的常见用法

    1.用作函数的返回值,比较常见的是返回分配的堆内存地址. 下面用一个例子进行说明下: /******************************************************** ...

  10. 2.tornado请求与响应

    之前我们介绍了tornado的基础流程,但还遗留了一些问题.今天我们就来解决遗留问题并学习新的内容 settings,使用tornado.web.Application(handler, **sett ...