intent传值:

4,intent传集合

3,intent传对象,

2,传递后有返回值的情况:
当需要从目标Activity回传数据到原Activity时,可以使用上述方法定义一个新的Intent来传递数据,
也可以使用 startActivityForResult (Intent intent, int requestCode);

1,传递后无返回值的情况:从当前Activity传递到目标Activity后有无返回值:

===========

4,intent传集合

但是有的时候又要传递多个实体类。就要把这些实体类的对象放在一个List中传递。
Intent.putExtras(key, value)几乎可以包括各种类型的值,但是却没有类似List<Object>之类的传递参数。
今天用到的时候试了下,
发现可以把list强转成Serializable类型,然后通过putExtras(key, (Serializable)list)方法传递过去。
接受的时候用(List<YourObject>) getIntent().getSerializable(key)就可以接受到List<YourObject>数据了
同样这个实体类必须要实现Serializable接口,切记切记,不然会报错。

3,intent传对象;

Intent不能直接传递t对象,需要通过bundle来传递
向intent中添加数据:
Intent intent_share = new Intent(MainActivity.this,ShareActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("article", article);
intent_share.putExtras(bundle);
startActivity(intent_share);

接收数据:
Bundle bundle = getIntent().getExtras();
Article article = (Article) bundle.get("article");
其中Article是一个实体类,这个类必须序列化才行(实现Serializable接口)。

2,传递后有返回值的情况:
当需要从目标Activity回传数据到原Activity时,可以使用上述方法定义一个新的Intent来传递数据,
也可以使用 startActivityForResult (Intent intent, int requestCode);

在起始Activity中,发送数据:
Intent intent = new Intent();
intent.setClass(ThisActivity.this,TargetActivity.class);
intent.putExtra("username",username);//也可以绑定数组
intent.putExtra("userpass",userpass);
startActivityForResult(intent,1);

//需要重写onActivityResult方法
protected void onActivityResult(int requestCode, int resultCode, Intent intent){
super.onActivityResult(requestCode,resultCode,intent);
//判断结果码是否与回传的结果码相同
if(resultCode == 1){
String name = intent.getStringExtra("name");
String pass = intent.getStringExtra("pass);
//对数据进行操作
......
}

在目标Activity中,接收数据:
Intent intent = getIntent();
String name = intent.getStringExtra("username");
String pass = intent.getStringExtra("userpass);
//从EditText中获取新的数据给name和pass
name = editText1.getText().toString();
pass = editText2.getText().toString()
//数据发生改变,需要把改变后的值传递回原来的Activity
intent.putExtra("name",name);
intent.putExtra("pass",pass);
//setResult(int resultCode,Intent intent)方法
setResult(1,intent);
//销毁此Activity,摧毁此Activity后将自动回到上一个Activity
finish();

1.传递后无返回值的情况:从当前Activity传递到目标Activity后有无返回值

在起始Activity中,发送数据
Intent intent = new Intent();
intent.setClass(ThisActivity.this,TargetActivity.class);
intent.putExtra("username",username);//也可以绑定数组
intent.putExtra("userpass",userpass);
startActivity(intent);

在目标Activity中,接收数据:
//获得意图
Intent intent = getIntent();
String name = intent.getStringExtra("username");
String pass = intent.getStringExtra("userpass);

也可以适用Bundle(捆)--在起始Activity中,发送数据:
Intent intent = new Intent();
intent.setClass(ThisActivity.this,TargetActivity.class);
//一次绑定多个数据
Bundle bundle = new Bundle();
bundle.putString("username",username);
bundle.putString("userpass",userpass);
intent.putExtras(bundle);
startActivity(intent);

在目标Activity中,接收数据:
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String name = bundle.getString("username");
String pass = bundle.getString("userpass");

intent--Activity之间数据传递之Intent数据传递的更多相关文章

  1. Android activity之间的跳转和数据传递

    1.Activity之间的跳转 并且 传递数据 A Activity进行的操作 Intent intent = new Intent(context, B.class); intent.putExtr ...

  2. Android笔记(三) 使得Activity之间可以跳转---Intent

    什么是Intent 一个APP肯定不单单由一个Activity构成,我们在使用过程中,经常需要在多个Activity中跳转,Android中Intent可以帮我们来完成在各个Activity中跳转的功 ...

  3. 在activity之间传递数据

    在activity之间传递数据 一.简介 二.通过intent传递数据 1.在需要传数据的界面调用 intent.putExtra("data1", "我是fry&quo ...

  4. 建立、配置和使用Activity——使用Bundle在Activity之间交换数据

    当一个Activity启动另一个Activity时,常常会有一些数据需要传过去——这就像Web应用从一个Servlet跳到另一个Serlvet时,Web应用习惯把需要交换的数据放入requestSco ...

  5. 杂记之activity之间的跳转

    代码结构图 manifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xml ...

  6. 【Android 应用开发】Activity生命周期 与 Activity 之间的通信

    一. Activity生命周期 上图 1. Activity状态 激活状态 : Activity出于前台 , 栈顶位置; 暂停状态 : 失去了焦点 , 但是用户仍然可以看到 , 比如弹出一个对话框 , ...

  7. Activity生命周期 与 Activity 之间的通信

    一. Activity生命周期 上图 1. Activity状态 激活状态 : Activity出于前台 , 栈顶位置; 暂停状态 : 失去了焦点 , 但是用户仍然可以看到 , 比如弹出一个对话框 , ...

  8. Android笔记(二十) Activity中的跳转和值传递

    我们知道,一个APP是由若干个Activity组成的,那么各个Acitivity中肯定需要进行跳转以及传递数值以保证App的运行,现总结一下多个Activity之间的跳转和值传递. 显式Intent跳 ...

  9. Android 写一个Activity之间来回跳转的全局工具类(主要是想实现代码的复用)

    废话不多说了,直接上代码,相信大家都能看得懂的. 一.主要工具类 package com.yw.chat.utils; import android.app.Activity; import andr ...

  10. 37.Activity之间的转换以及数据的传递(Intent)学习

      Intent简介:                                                                                在一个Androi ...

随机推荐

  1. Python中元组、列表、字典的遍历和相互转化

    一.元组,列表,字典的遍历 1.1 元组的遍历 元组的遍历借助 range() 函数,基本思想是通过元组的长度使用for循环进行遍历,代码如下:     fruits=("apple&quo ...

  2. java 8大数据类型

    第一类:逻辑型boolean 第二类:文本型char 1.JAVA中,char占2字节,16位.可在存放汉字 2.char赋值 char a='a';  //任意单个字符,加单引号. char a=' ...

  3. 【vue】遇到的问题

    [一]项目编译的时候报错 npm install npm WARN @mtfe/thrift@2.3.7 requires a peer of thrift@0.11.0 but none is in ...

  4. 配置java环境变量【搭建java开发环境】【Path追加字符串,CLASSPATH填入固定的字符串】

    准备工作:把jdk压缩包解压出来 jdk的安装目录就是F:\a-bao\jdk1.8.0_65 第一步: 变量名:JAVA_HOME变量值:JDK安装路径 直接追加这些字符串 %JAVA_HOME%\ ...

  5. jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能

    smtp2http 是一个很方便的可以将smtp 转换为http 服务的工具,同时也支持扩展的开发,我们可以使用此工具 扩展灵活的ci.cd 生命周期管理,而不是简单的邮件处理 备注: 使用docke ...

  6. jquery trigger函数和triggerHandler函数的对照

    一句话的差别就是:trigger will bubbling jQuery events (not default DOM events) and triggerHnadler will not do ...

  7. 深入理解计算机系统 (Randal E.Bryant / David O'Hallaron 著)

    第1章 计算机系统漫游 (已看) 1.1 信息就是位+上下文 1.2 程序被其他程序翻译成不同的格式 1.3 了解编译系统如何工作是大有益处的 1.4 处理器读并解释存储在内存中的指令 1.4.1 系 ...

  8. [转]B树(多向平衡查找树)详解

    B-树是对2-3树数据结构的扩展.它支持对保存在磁盘或者网络上的符号表进行外部查找,这些文件可能比我们以前考虑的输入要大的多(以前的输入能够保存在内存中). (B树和B+树是实现数据库的数据结构,一般 ...

  9. roadhog 知识点

    roadhog 是一个 cli 工具,提供 server. build 和 test 三个命令,分别用于本地调试和构建,并且提供了特别易用的 mock 功能.命令行体验和 create-react-a ...

  10. UML图类,接口之间的关系

    UML图类之间的关系(来自大话设计模式中的一张图,代表了类,接口之间的各种关系)