文档章节

Activity之间数据传递

qii
 qii
发布于 2014/05/07 13:05
字数 384
阅读 110
收藏 2
点赞 0
评论 0

从一个activity启动另外一个activity,并附带一些数据过去。一般使用的方法是:

Intent intent = new Intent(ProductActivity.this, ProductCommentActivity.class);
intent.putExtra("productId", 4026);
startActivity(intent);

从一个activity返回到另外一个activity,有时候也需要附带一些数据。这时,2个activity之间数据传递的写法就需要一些规范。

首先,在主activity里面,数据传递或者无数据传递,都需要一个标识,即requestCode。因此,主activity启动另一个activity的写法为:

Intent intent = new Intent(ProductActivity.this, ProductGuigeActivity.class);
intent.putExtra("productId", 4026);
startActivityForResult(intent, GET_CODE);

这里的get_code是自定义的,为大于等于0的整数。

此处必须使用startActivityForResult来启动,若采用第一种方法,那么,主activity将无法接收到返回的数据。这是根据我修改apidemos里的代码测试的结果。

其次,在子activity里,数据回传的写法为:

Intent intent = new Intent(ProductGuigeActivity.this, ProductActivity.class);
intent.putExtra("sel_guige", products.get(pos).getProductId());
intent.putExtra("sel_guige_name", products.get(pos).getProductName());
setResult(RESULT_OK, intent);

另外,我遇到的另外一个问题是,当我的程序已经启动,在重新运行项目时,会产生一个错误,如图:


这个错误只是在启动的时候异常,程序自动重启之后,则一切正常。但是这会导致所有的activity在切换的时候,都重新创建。导致数据无法回传。

如果在重新部署项目之前,先解释运行的APP,则没有该错误。暂时不知道什么原因。如果有人知道,请指点一下。



© 著作权归作者所有

共有 人打赏支持
qii

qii

粉丝 13
博文 77
码字总数 23520
作品 0
昆明
高级程序员
糊里糊涂学Android(1)——Activity之间的数据传递

在Activity之间传递数据,主要的方法有四种: 利用静态字段传递; 利用Intent传递; 利用ClipboardManager传递; 利用全局变量传递。 下面就一一道来,首先呢,创建一个Android Application...

笑缘心归
2014/03/15
0
0
Android零基础入门第81节:Activity数据传递

在Android开发中,经常要在Activity之间传递数据。前面也学习了Activity和Intent相关基础,接下来一起来学习Activity的数据传递。 一、简介 通过前面的学习知道,Intent可以用来开启Activit...

鑫鱻
2017/10/23
0
0
界面开发组件Activity详解

Activity是Android中最核心的应用程序组件,是用于控制显示界面的组件。一个Activity就是一个类,该类继承了android.app.Activity,并需要重写onCreate方法,同时在AndroidManifest.xml中进行...

jz116
2012/12/16
0
1
Android必备:Activity 活动 和 Intent 意图 的学习整理

看这里:Android必备:Activity 活动 和 Intent 意图 的学习整理 在Android必备:Android UI控件的了解与学习中,对AndroidUI做了初步的了解和学习,本篇继续进行Android开发学习的整理。And...

Realfighter
2015/03/04
0
0
android的Activity之间的数据传递

首先给大家介绍一下android中的activity: 一个activity一般代表手机屏幕的一屏,概念相当与网页。一般来说一个android应用是由一个或多个activity组成,activity直接可进行跳转,直接也可以...

我希冀着
2011/09/10
0
2
Intent对象初步——Mars Android开发视频之第二季第四集(重)

Intent对象的基本概念 Intent是安卓应用程序组件之一 Intent对象在安卓系统当中表示一种意图 Intent当中最重要的内容是action与data 2. Intent对象的基本使用方法 2.1 从一个Activity跳转到另...

周田
2015/08/23
0
0
Android中Intent组件详解

Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件。Intent 本身是定义为一个类别(Class),一个Intent对象表达一个目的(Goal)或期望(Expectation),叙述其所期望的服务或动...

Remix_jx
2014/10/16
0
0
android开发AIDL实例

由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间。但是a...

晨曦之光
2012/03/13
0
0
安卓入门笔记之Activity信使—intent

本文来自 Legend 的博客园博客,作者给了不错的小结,下回分解~ Android Intent详解 一、 Intent 作用 Intent 是一个将要执行的动作的抽象的描述,一般来说是作为参数来使用,由Intent来协助...

twobeings
2014/04/05
0
0
Android中的Parcel是什么

Parcel,翻译过来是“打包”的意思。打包干什么呢?是为了序列化。 如果要在进程之间传递一个整数,很简单,直接传就是行了;如果要传一个字符串,就稍微复杂了点:需先分配一块可以容纳字符...

晨曦之光
2012/03/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前端基础

1. get请求传参长度的误区 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是...

wenxingjun
8分钟前
0
0
Android 复制和粘贴功能

做了一回搬运工,原文地址:https://blog.csdn.net/kennethyo/article/details/76602765 Android 复制和粘贴功能,需要调用系统服务ClipboardManager来实现。 ClipboardManager mClipboardM...

她叫我小渝
今天
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
今天
6
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
今天
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1
fiddler安装和基本使用以及代理设置

项目需求 由于开发过程中客户端和服务器数据交互非常频繁,有时候服务端需要知道客户端调用接口传了哪些参数过来,这个时候就需要一个工具可以监听这些接口请求参数,已经接口的响应的数据,这种...

银装素裹
今天
0
0
Python分析《我不是药神》豆瓣评论

读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任...

猫咪编程
今天
0
0
虚拟机怎么安装vmware tools

https://blog.csdn.net/tjcwt2011/article/details/72638977

AndyZhouX
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部