Android Intent传递数据

刚开始看郭大神的<>,实现以下里面的一些例子.Intent传递数据.
我们利用显示的方式进行Intent的启动.

1.启动intent并输入数据.

Intent intent=new Intent(MainActivity.this,TwoActivity.class);intent.putExtra("data", "hello two");startActivity(intent);

2.接收数据.

Intent intent=getIntent();Log.i("data", intent.getStringExtra("data"));

注.intent传递数据的方式是键值对的形式,所以我们要根据预键来取.这里我们传递的是一个String字符串,当然你也可以传递其他数据类型.不过取的时候我们要根据数据类型来使用不同方法取.如下(当然还有很多,以此类推).

        intent.getIntExtra(name, defaultValue);intent.getBooleanExtra(name, defaultValue);

3.返回数据

Intent intent1=new Intent(MainActivity.this,TwoActivity.class);intent1.putExtra("data", "hello two");startActivityForResult(intent1, 1);

在这里我们使用的不是startActivity();而是startActivityForResult();,这是我们要返回数据,所以必须要一个用来识别返回数据的code.

Intent intent=getIntent();data=intent.getStringExtra("data");Log.i("data", data);findViewById(R.id.btn_twolayout).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent();intent.putExtra("data1", data+"收到.");setResult(RESULT_OK, intent);finish();}});

接收并返回数据.setResult(RESULT_OK, intent);.然后我们使用finish();将当前的activity销毁掉,返回上一个activity.

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode==1) {if (resultCode == RESULT_OK) {Log.i("data1", data.getStringExtra("data1"));}}super.onActivityResult(requestCode, resultCode, data);}

最后我们重写onActivityResult();方法,并判断requestCode是否等于我们预先设定好的code,和resultCode是否等于RESULT_OK.


在onActivityResult();方法里带有三个参数,分别是requestCode,我们在启动活动时传入的请求码.resultCode,我们在返回数据时候传入的处理结果.data,携带着返回数据的intent.

此外我们还有一个问题,如果我们不是通过预先设定好的按钮返回上一个activity,而是通过back按键返回怎么办?

@Overridepublic void onBackPressed() {Intent intent=new Intent();intent.putExtra("data1", data+"收到.");setResult(RESULT_OK, intent);finish();}

这个时候我们可以通过重写onBackPressed(); 方法来解决.这样的话当我们按下back按键,就会去执行onBackPressed();方法中的代码.
么么哒的效果图 o.o 792475-20151217152137334-925324085.png

转载于:https://www.cnblogs.com/stareblankly/p/5054288.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

帮 C/C++ 程序员彻底了解链接器

为什么80%的码农都做不了架构师&#xff1f;>>> http://blog.jobbole.com/96225/ 转载于:https://my.oschina.net/lieefu/blog/547083

linux安装软件包(pip, distribute, nose, virtualenv)

一、 先安装pip 1. 先去python官网下载pip&#xff0c;网站&#xff1a;https://pypi.python.org/pypi/pip#downloads&#xff0c;点击下图中的“download” 2. 然后选择下图标注的包&#xff0c;链接可以通过f12获取&#xff0c;具体如下&#xff1a; 3. 然后再linux终端输入&…

event对象获取方法

为什么80%的码农都做不了架构师&#xff1f;>>> http://www.jb51.net/article/42691.htm 转载于:https://my.oschina.net/zxin/blog/547902

【iOS开发每日小笔记(一)】UIPickerView 自动选择某个component的某个row

这篇文章是我的【iOS开发每日小笔记】系列中的一片&#xff0c;记录的是今天在开发工作中遇到的&#xff0c;可以用很短的文章或很小的demo演示解释出来的小心得小技巧。它们可能会给用户体验、代码效率得到一些提升&#xff0c;或是之前自己没有接触过的技术&#xff0c;很开心…

在Hadoop上运行基于RMM中文分词算法的MapReduce程序

原文&#xff1a;http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-count-on-hadoop/ 在Hadoop上运行基于RMM中文分词算法的MapReduce程序 23条回复我知道这个文章标题很“学术”化&#xff0c;很俗&#xff0c;让人看起来是一篇很牛B或者很装逼的论文&#xff0…

Visual Studio 快捷键汇总

常见方法&#xff1a; 强迫智能感知&#xff1a;CtrlJ。智能感知是Visual Studio最大的亮点之一&#xff0c;选择Visual Studio恐怕不会没有这个原因。 撤销&#xff1a;CtrlZ。除非你是天才&#xff0c;那么这个快捷键也是最常用的。强迫显示参数信息&#xff1a;Ctrl-Shift-空…

deferred Transports Protocols 简单介绍

2019独角兽企业重金招聘Python工程师标准>>> Twisted架构概览 Twisted是一个事件驱动型的网络引擎。由于事件驱动编程模型在Twisted的设计哲学中占有重要的地位&#xff0c;因此这里有必要花点时间来回顾一下究竟事件驱动意味着什么。 事件驱动编程是一种编程范式&a…

java web 请求跟踪_IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术

原标题&#xff1a;IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术Cookie使用HTTPHeader传递数据。Cookie机制定义了两种报头&#xff0c;Set-Cookie报头和Cookie报头。Set-Cookie报头包含于Web服务器的响应头(ResponseHeader)中&#xff0c;Cookie报头包含在浏览器客户端请…

关于easyUI在子页面增加显示tabs的一个问题

关于easyUI在子 在父页面点个链接能动态看到子页面的情况太简单&#xff0c;请看easyUI官网&#xff1a;http://www.jeasyui.com/tutorial/layout/tabs2.php 现在说的是在子页面点个按钮也能触发增加子页面的情况。 情景是&#xff0c;在父页面上有个div如&#xff1a; Html代…

SDN第二次上机作业

1、安装floodlight 2、生成拓扑并连接控制器floodlight&#xff0c;利用控制器floodlight查看图形拓扑 3、利用字符界面下发流表&#xff0c;使得‘h1’和‘h2’ ping 不通 4、利用字符界面下发流表&#xff0c;通过测试‘h1’和‘h3’的联通性&#xff0c;来验证openflow的har…

PHP的钩子实现解析

2019独角兽企业重金招聘Python工程师标准>>> 钩子是编程里一个常见概念&#xff0c;非常的重要。它使得系统变得非常容易拓展&#xff0c;&#xff08;而不用理解其内部的实现机理&#xff0c;这样可以减少很多工作量&#xff09;。只要有一个钩子样本&#xff0c;能…

Beta冲刺! Day2 - 砍柴

Beta冲刺&#xff01; Day2 - 砍柴 今日已完成 晨瑶&#xff1a;大致确定了文章推荐的算法思路&#xff08;Content-based recommender&#xff09;&#xff1b;理清了不少feature的事宜昭锡&#xff1a;修复了日期选择越界时导致程序崩溃和点击光点返回后&#xff0c;日期选择…

Android版添加phonegap--websocket客户端插件教程

2019独角兽企业重金招聘Python工程师标准>>> 1.在Eclipse中新建Android Project项目chatdemo2.把animesh kumar的websocket-android-phonegap项目java文件打成phonegap-websocket-support.jar包&#xff0c;存放在 android project的libs目录下3.把websocket.js存放…

java参数传入的是一个类名_Java编程细节——泛型的定义(类、接口、对象)、使用、继承...

1. 设计泛型的初衷&#xff1a;1) 主要是为了解决Java容器无法记忆元素类型的问题&#xff1a;i. 由于Java设计之初并不知道会往容器中存放什么类型的元素&#xff0c;因此元素类型都设定为Object&#xff0c;这样就什么东西都能放了&#xff01;ii. 但是这样设计有明显的缺点&…

Linux环境下安装部署AWStats日志分析系统实例

AWStats是使用Perl语言开发的一款开放性日志分析系统&#xff0c;可分析Apache网站服务器的访问日志&#xff0c;还可以用来分析Samba、Vsftpd、IIS等日志信息。此文章主要讲解如何在linux系统下安装部署关于对Apache网站服务站日志分析的AWStats。实验步骤一&#xff0c;安装部…

HDU4911 Inversion 解题报告

题意&#xff1a;求逆序对 解题思路&#xff1a;1)树状数组 离散化 解题代码&#xff1a; 1 // File Name: a.cpp2 // Author: darkdream3 // Created Time: 2014年08月05日 星期二 12时05分09秒4 5 #include<vector>6 #include<list>7 #include<map>8 #inc…

springmvc的国际化

1&#xff1a;三个国际化资源文件 i18n.usernameUsername i18n.passwordPassword i18n.username\u7528\u6237\u540D i18n.password\u5BC6\u7801 i18n.usernameUsername i18n.passwordPassword 2&#xff1a;在spring中配置国际化资源文件 <!-- 配置国际化资源文件 --><…

.9-浅析webpack源码之NodeEnvironmentPlugin模块总览

介绍Compiler的构造比较无趣&#xff0c;不如先过后面的&#xff0c;在用到compiler的时候再做讲解。 这一节主要讲这行代码&#xff1a; // 不管这里 compiler new Compiler(); compiler.context options.context; compiler.options options; // 看这里 new NodeEnvironmen…

java单例模式的七种写法_Java设计模式之单例模式的七种写法

什么是单例模式&#xff1f;单例模式是一种常见的设计模式&#xff0c;单例模式的写法有很多种&#xff0c;这里主要介绍三种&#xff1a; 懒汉式单例模式、饿汉式单例模式、登记式单例 。单例模式有以下特点&#xff1a;1、单例类只能有一个实例。2、单例类必须自己创建自己唯…

Struts2国际化

一&#xff1a;简单理解 国际化简称i18n&#xff0c;其来源是英文单词 internationalization的首末字符i 和n。18为中间的字符数。 随着全球经济的一体化&#xff0c;软件开发者应该开发出支持多国语言、国际化的Web应用。对于Web应用来说&#xff0c;同样的页面在不同的语言环…