第一课android开发之在activity间传递参数
一、活动间简单参数传递:
1.在布局中添加按钮,用<Button,用id设置id名称,id="@+id/这儿填写你要设置成的名称";
用text设置按钮上显示的文字。text="这儿填你要填的名称"
2.在布局中用textview来显示一个文本框内容。
3.在一个activity的java程序中,用findviewbyid(r.id.这儿填要找的id).setOnClickListener()
来将该活动中某一个按钮设置监听器。
findviewbyid用来找到该按钮在布局中的具体的,然后setonclicklistener
来设置监听器。
4.在监听器函数中用intent来设置变量来表示目的,给新建的intent构造函数传入两个参数
第一个参数为某一活动.某一类
第二个参数为某一个函数.某一按钮或者该activity全局(id.class)
用startactivity来启动intent变量。
在中间用intent的方法putextra传入简单数据;
接收参数:
在接受的活动中用intent i=getintent方法来接收参数
将文本框用i.getStringExtra来得到传过来的参数;
二、传递数据包
将监听器中定义一个包bundle的变量
用包bundle的变量的方法来实现传入参数
然后用intent变量的方法putextras将bundle传进
在接受参数的活动中,重新定义一个bundle的包,用intent的getextras来获取
文本框获取文字的另一个方法用String.format,其中参数按照print形式
getstring有一个重载函数,第一个变量输入的key
第二个变量输入没有key的默认值
或者在监听器中用intent变量的方法putextra("","")传进
第一个变量为key,他的值为第二个变量,第二个变量传入的bundle变量名称
在接受函数中变为intent变量的getbundleExtra的方法
三、在多个activity间传递值对象
创建一个java类User
将intent的变量使用方法putextra("","")
第一个参数传入一个key,第二个参数传入构造一个新的User,例如new User("zhang",2)
并将第二个变量定义为Serializable(java内置序列化对象接口)
或者(android平台提供的序列化接口)
使用Serializable,操作简单,但运行慢
在User类implements Serializable,序列化操作系统会自动做
在接收的活动中,用String.format函数接受的时候,
使用 类名 inof,后面会自动提示要接收类里的哪一个函数返回值;
使用Parcelable,操作复杂,运行快
会报错,可自动添加两个方法来实现
还得向第二个方法中添加全自动序列化的代码
dest.writeString(getName());
dest.writeInt(getAge());
还需要创建一个public static final Creator<User>CREATOR=new Creator<User>()
在其中添加return new User(source.readString(),source.readInt());
若不止一个需要传输的数据是string或int时,通过writebundle来实现
四、获取activity返回参数
用linearLayout来设置布局,orientation来设计布局方式
用setresult返回子函数的返回值,第一个值表示判断是否返回
finish结束当前activity
在主函数中不用startactivity来得到返回值,而是通过startactivityforresult来得到返回值
可获得请求码和结果码,第三个参数得到setresult中的第二个参数
第一课android开发之在activity间传递参数的更多相关文章
- android开发之在activity中控制另一个activity的UI更新
转自:http://blog.csdn.net/jason0539/article/details/18075293 第一种方法: 遇到一个问题,需要在一个activity中控制另一个acitivit ...
- Android开发之bug-No Activity found to handle Intent
android.content.ActivityNotFoundException: No Activity found to handle Intent 做Android开发中,使用隐式intent ...
- Android开发之Tween(补间动画)
在android中动画主要有三种,①帧动画(http://blog.csdn.net/dmk877/article/details/45893017)这篇文章已经详细的进行了讲解,②补间动画这也是这篇 ...
- Android学习手记(3) Activity间传递数据
1. 简单数据传递 建立两个Activity,名称分别为MainActivity和TheAty,在MainActivity中新建一个Button,id为btnStartAty.在TheAty中新建一个 ...
- Android广播接收器和Activity间传递数据
Activity向广播接收器传递数据很简单,只需要在发送广播前将数据put进Intent中就行了. 广播接收器怎么向Activity传送数据?这里要用到接口,通过在广播接收器里定义一个接口,然后让接收 ...
- activity间传递参数
传递值对象 值对象可以理解为自定义的数据类型对象. 为了完成这个知识点的讲解,先来创建一个User类型的类,它有name和age两个属性,然后请添加getter/setter方法,构造方法等基本方法. ...
- Android开发之InstanceState详解(转)---利用其保存Activity状态
Android开发之InstanceState详解 本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceS ...
- Android开发之旅4:应用程序基础及组件
引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西.本篇的主题如下: 1.应用程序基础 2.应用 ...
- Android开发之InstanceState详解
Android开发之InstanceState详解 本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceS ...
随机推荐
- Windows To Go入坑记录
什么是Windows To Go? https://en.wikipedia.org/wiki/Windows_To_Go 微软为了解决企业用户的需求而推出,可以在u盘或者移动硬盘启动window系统 ...
- libaio.so.1()(64bit) is needed by MySQL-server 问题解决办法
[root@localhost upload]# rpm -ivh MySQL-server-5.5.25a-1.rhel5.x86_64.rpmerror: Failed dependencies: ...
- webgl自学笔记——深度监测与混合
这一章中关于webgl中颜色的使用我们将深入研究.我们将从研究颜色在webgl和essl中如何被组装和获取开始.然后我们讨论在物体.光照和场景中颜色的使用.这之后我们将看到当一个物体在另一个物体前面是 ...
- php自动加载规范 PSR4 (Thinkphp)
PSR4是一种自动加载规范,老版本是PSR0,尽管thinkPHP支持PSR4和PSR0的自动加载方式,但是默认也是优先进行PSR4加载,如果失败,再进行PSR0的加载.本篇文章只会讨论PSR4的加载 ...
- php实现中文字符串无乱码截取
在PHP开发中会经常用到字符串截取,有的时候字符串截取会出现乱码的情况,那么怎么解决这个问题呢,其实也很容易 首先我们要了解关于中英文占多少字节的问题. ASCII码:一个中文汉字占两个字节的空间. ...
- 常用Latex公式
注意: 1 在博客中书写Latex公式时,需在公式两侧用$包括 2 大括号{ }在Latex有本身的含义,如果要输出为普通字符需要使用\{...\} 符号 公式 说明 $ \in $ \in 包含 $ ...
- PhotoPickerNewDemo【PhotoPicker0.9.12的个性化修改以及使用(内部glide版本号是4.1.1)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo使用的是PhotoPicker 0.9.12版本,里面集成的glide版本号是4.1.1.这里就不进行特殊的个性化处理了( ...
- 90后的青春,定格在被淡忘的QQ空间里
QQ空间,这个曾经陪我们从童年到少年再到成年,从2G时代再到如今的4G末,占据了我们太多的青春回忆,如今好友空间动态更新的不在像从前那样频繁.依稀记得当年的好友买卖,抢车位再或者情侣空间,现在想想那时 ...
- JDK源码分析(11)之 BlockingQueue 相关
本文将主要结合源码对 JDK 中的阻塞队列进行分析,并比较其各自的特点: 一.BlockingQueue 概述 说到阻塞队列想到的第一个应用场景可能就是生产者消费者模式了,如图所示: 根据上图所示,明 ...
- 2.3Options建立配置和实体的映射「深入浅出ASP.NET Core系列」
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. Startup.cs中创建MVC中间件 关键代码:services.AddMvc();app.UseMvcWith ...