使用Bundle 在Activity 间传递数据1:
1.1从源Activity 中传递数据
//数据写入Intent
Intent openWelcomeActivityIntent=new Intent();
Bundle myBundelForName=new Bundle();
myBundelForName.putString("Key_Name",inName.getText().toString());
myBundelForName.putString("Key_Age",inAge.getText().toString());
openWelcomeActivityIntent.putExtras(myBundelForName);
openWelcomeActivityIntent.setClass(AndroidBundel.this, Welcome.class);
startActivity(openWelcomeActivityIntent);
1.2目标Activity 中获取数据
//从Intent 中获取数据
Bundle myBundelForGetName=this.getIntent().getExtras();
String name=myBundelForGetName.getString("Key_Name");
myTextView_showName.setText("欢迎您进入:"+name);
使用Bundle 在Activity 间传递数据2:
2.1从源请求Activity 中通过一个Intent 把一个服务请求传到目标Activity 中
//从Intent 中获取数据
Bundle myBundelForGetName=this.getIntent().getExtras();
String name=myBundelForGetName.getString("Key_Name");
myTextView_showName.setText("欢迎您进入:"+name);
private Intent toNextIntent;//Intent 成员声明
toNextIntent=new Intent();//Intent 定义
toNextIntent.setClass(TwoActivityME3.this, SecondActivity3.class);
//设定开启的下一个Activity
startActivityForResult(toNextIntent, REQUEST_ASK););
2.2开启Intent 时候,把请求码同时传递在源请求Activity 中等待Intent 返回应答结果,通过重载onActivityResult()方法
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==REQUEST_ASK){
if(resultCode==RESULT_CANCELED){
setTitle("Cancel****");
}else if(resultCode==RESULT_OK){
showBundle=data.getExtras();//从返回的Intent中获得Bundle
Name=showBundle.getString("myName");//从bundle中获得相应数据
text.setText("the name get from the second layout:\n"+Name);
}
}
}
☻ 第一个参数是你开启请求Intent时的对应请求码,可以自己定义。
☻ 第二个参数是目标Activity返回的验证结果码
☻ 第三个参数是目标Activity返回的Intent
2.3目标Activity 中发送请求结果代码,连同源Activity 请求的数据一同绑定到Bundle
中通过Intent 传回源请求Activity 中
backIntent=new Intent();
stringBundle=new Bundle();
stringBundle.putString("myName", Name);
backIntent.putExtras(stringBundle);
setResult(RESULT_OK, backIntent);//返回Activity结果码
finish(););
分享到:
相关推荐
这里简单描述了以下Activity使用Bundle向Fragment传递数据
在Android中传递数据的方法非常多,本次介绍4中比较常用的数据传递方法: 1.通过Intent传递数据 2.通过静态变量(static)传递数据 3.通过剪贴板(Clipboard)传递数据 4.通过全局对象传递数据 在...
内容:使用Bundle在Activity间传递数据、Log与DDMS(查看Log等信息)、Activity生命周期、Android应用开发4使用Service、如何使用服务、服务生命周期、进程生命周期、使用服务进行音乐播放、AndroidUI布局等……
有助于初学的同学理解activity间的数据传递机制,希望大家支持一下
内容:使用Bundle在Activity间传递数据、Log与DDMS(查看Log等信息)、Activity生命周期、Android应用开发4使用Service、如何使用服务、服务生命周期、进程生命周期、使用服务进行音乐播放、AndroidUI布局等……
Activity之间的数据传递 简单功能的实现 对新手有所帮助
fragment与activity之间相互通信,一般有两种方法,接口方式和bundle方式
Android中用来在Activity之间传递数据可以用Bundle,这是一个在两个Bundle间用Bundle传递数据和接收数据的小例子
本篇文章小编为大家介绍,Android 不同Activity间数据的传递 Bundle对象的应用。需要的朋友参考下
笔者近期看官方training,发现了很多有用又好玩的知识。其中,fragment与Activity通信就是一个。...2、Activity传递信息给fragment 此点主要是通过fragment的getArgument()和setArgument()两个函数传递bundle来传递。
笔者近期看官方training,发现了很多有用又好玩的知识。其中,fragment与Activity通信就是一个。...2、Activity传递信息给fragment 此点主要是通过fragment的getArgument()和setArgument()两个函数传递bundle来传递。
我们知道在Android 系统中,可以用Bundle或Intent来保存和传递数据。我们有时由于程序某种需要,可能需要传递各种各样的自定义对象,只传递简单类型的数据是不够的。但这些对象在Activity之间不能直接传递,用什么...
本文实例讲述了Android中Service实时向Activity传递数据的方法。分享给大家供大家参考。具体如下: 这里演示一个案例,需求如下: 在Service组件中创建一个线程,该线程用来生产数值,每隔1秒数值自动加1,然后把...
面试官:“你一定看过Activity的onCreate()方法吧,为什么它要用bundle来传递数据,而不用HashMap来代替呢?” 这个问题就要我们来看看源码了,我们点进去Bundle来一探究竟: 我们来一下存储数据的方法putByte(), ...
使用Inten的putExtra传递 第一个Activity中 //创建意图对象 Intent intent = new Intent(this,TwoActivity.class); //设置传递键值对 intent.putExtra(data,str); //激活意图 startActivity(intent); 第二个...
一、Bundle进行IPC介绍 四大组件中的三大组件(Activity、Service、Receiver)都是支持在Intent中传递Bundle...Bundle不支持的类型无法通过它在进程间传递数据。 二、使用方法 1.打包数据发送 Intent intent1 = ne
本文实例讲述了Android基于Intent实现Activity之间数据传递的方法。分享给大家供大家参考,具体如下: MainActivity: package com.test.intentdemo; import android.app.Activity; import android.content.Intent;...
Bundle 翻译成中文的意思是“捆绑”,常用在Activity间传递参数,之前一开始并不太待见,原因是Intent本身就可以传递,Intent.putExtra(“key”, value),为何还要用Bundle呢? 正巧小伙伴问Android传值Intent和...
下面通过一个例子来详细说明 先上代码,再细细分析 MainActivity public class MainActivity extends Activity { private Button ... public void onCreate(Bundle savedInstanceState) { super.onCreate(sav