其实Activity间的传值就是通过Bundle,intent中也是自动生成了Bundle来传值,里面还有个onActivityResult()方法也可以传送数值。

如果一个Activity是由startActivityForResult启动的,那么这个activity在finish()后就会回调启动它的activity中的onActivityResult()方法。

下面是全部代码:

MainActivity.java

package com.kale.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
//intent这时里面还没有bundle对象,所以系统会自动生成一个bundle对象,把数据放入bundle,然后把bundle给intent
intent.putExtra("KEY", "VALUE");
Bundle bundle = new Bundle();
bundle.putString("KEY from bundle", "VALUE from bundle");
intent.putExtras(bundle);
/*只要你是startActivityForResult(intent, INVITE_CODE);
这个方法启动的Activity2,当你finish()Activity2的时候 ,
返回到Activity1中,它会自动调用onActivityResult这个方法,
然后你要传递的数据就在这发方法的Intent参数里面*/
startActivityForResult(intent, 123);
} @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
String result = data.getExtras().getString("requestKEY");//得到新Activity 关闭后返回的数据
System.out.println("返回的结果是:"+result);
}
}

SecondActivity.java

package com.kale.activity;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity; public class SecondActivity extends ActionBarActivity{ @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
Intent intent = getIntent(); System.out.println("value0 = "+intent.getStringExtra("KEY"));
Bundle bundle = intent.getExtras();
String value01 = bundle.getString("KEY");
String value02 = bundle.getString("KEY from bundle");
System.out.println("value01 = "+value01);
System.out.println("value02 = "+value02); Intent resultIntent = new Intent();
resultIntent.putExtra("requestKEY", "requestValue");
//设置返回数据
setResult(RESULT_OK, resultIntent);//设置给之前启动它的activity的一个返回码
finish();
} }

Activity间用Intent、Bundle、onActivityResult进行传值的更多相关文章

  1. Activity间通过Intent交互及系统服务调用

    I. 实验目的通过本实验理解Android开发框架中最核心程序部件Activity间通过Intent交互的原理,掌握通过Intent传递参数和系统服务调用的方法,并通过实验中的3个具体的实验内容加深理 ...

  2. 使用Bundle在Activity间传递数据

    使用Bundle在Activity间传递数据 源Activity public class SourceActivty extends Activity { private Intent intent ...

  3. Activity间中使用Intent传值

    主页面用来输入一个值传入第二个页面显示,关闭第二个页面返回一个值 主页布局: <RelativeLayout xmlns:android="http://schemas.android ...

  4. Activity学习(三)——跳转传值

    Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据.   Intent是Android一个很重要的类.Intent直译是“意图”,什么是意图呢?比如你想从这个 ...

  5. Android Activity间跳转与传递数据

    1 概述 Activity之间的跳转主要使用 startActivity(Intent intent); startActivityForResult(Intent intent,int reques ...

  6. 利用Theme自定义Activity间的切换动画

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/22990643 大多Android系统默认Activity间的动画切换效果为,右边 ...

  7. Activity之间数据交流(onActivityResult的用法)

    http://www.blogjava.net/mixer-a/archive/2012/03/23/375014.html http://www.cnblogs.com/linjiqin/archi ...

  8. Activity之间使用intent传递大量数据带来问题总结

    转载:大飞 http://blog.csdn.net/rflyee/article/details/47441405   Activity之间使用Parcel传递大量数据产生的问题. Activity ...

  9. Activity间传递数据

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

随机推荐

  1. PyTorch-Kaldi 语音识别工具包

    翻译:  https://arxiv.org/pdf/1811.07453.pdf ABSTRACT 开源软件的可用性在语音识别和深度学习的普及中发挥了重要作用.例如,Kaldi 现在是用于开发最先进 ...

  2. Angular 5项目

    Angular 5项目 如果您正在使用angular, 但是没有好好利用angular cli的话, 那么可以看看本文. Angular CLI 官网: https://github.com/angu ...

  3. gym 101986

    A - Secret of Chocolate Poles 队友写的. 好像水水的. //#pragma GCC optimize(2) //#pragma GCC optimize(3) //#pr ...

  4. Linux 彻底删除用户

    想要完全删除用户账号(也就是删除所有与该用户相关的文件),以下这两种方法个人觉得是最好的: (1)使用 userdel -r xiaoluo命令删除. (2)先使用userdel xiaoluo 删除 ...

  5. Python中命名空间与作用域使用总结

    1 引言 命名空间与作用域是程序设计中的基础概念,深入理解有助于理解变量的生命周期,减少代码中的莫名其妙bug.Python的命名空间与作用域与Java.C++等语言有很大差异,若不注意,就可能出现莫 ...

  6. [代码审计]云优cms V 1.1.2前台多处sql注入,任意文件删除修复绕过至getshell

    0X00 总体简介 云优CMS于2017年9月上线全新版本,二级域名分站,内容分站独立,七牛云存储,自定义字段,自定义表单,自定义栏目权限,自定义管理权限等众多功能深受用户青睐,上线短短3个月,下载次 ...

  7. android 自定义view android onmeasure onlayot ondraw

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha android onmeasure onlayot ondraw 顺序 ====== 1 ...

  8. Slickflow.NET 开源工作流引擎高级开发(二) -- 流程快速测试增值服务工具介绍

    前言:流程是由若干个任务节点组成,流转过程就是从一个节点转移到下一个节点,通常需要不断切换用户身份来完成流程的测试,这样使得测试效率比较低下,本文从实战出发,介绍常见的两种快速测试方法,用于提升流程测 ...

  9. 使用 IntraWeb (24) - 基本控件之 TIWFileUploader、TIWFile

    TIWFileUploader 是基于 Ajax 的上传控件, 最初是 Andrew Valums 开发, 从 IntraWeb XIV 纳入并替换 TIWFile. 虽然从组件面板上还能看到 TIW ...

  10. 用 consul + consul-template + registrator + nginx 打造真正可动态扩展的服务架构

        https://mp.weixin.qq.com/s?src=3&timestamp=1503654544&ver=1&signature=UcJdgd4vgt*3AR ...