Activity的跳转及返回值,activity的生命周期
Activity生命周期
从创建到销毁的生命周期:
onCreate()→onStart()→onResume()→onPouse()→onStop()→onDestroy()
从起动到后台再到前台:
onCreate()→onStart()→onResume()→onPouse()→onStop()→onRestart()→onStart()→onResume()
启动第二个activity
1. 创建new activity
2. 创建对应的new xml布局文件
3. 在new activity中setContentView(R.layout.new xml);关联起来
4. 将new activity在AndroidMainfest.xml中注册一下, 包括改名字name属性、有intent_filter的是首启动页面
在原来<activity 。。。/>下加入新的
<activity android:name=".demo_act"
android:theme="@android:style/Theme.DeviceDefault.Dialog"样式效果 可不做 Activity跳转 Eg: Intent intent = new Intent(Second.this,first.class); startActivity(intent);----------------------------------------------------无返回值
1. Intent:意图,协助完成Android各个组件之间的通讯
2.
①startActivity(intent)
②startActivityForResult(intent,requestCode)//有返回值
onActivityResult(int requestCode,int
resultCode,Intent data)//接收返回值A页面
setResult(resultCode,data)//设置返回值B页面
第1种方法
ntent intent = new
Intent(Second.this,first.class);
startActivity(intent);----------------------------------------------------无返回值
第2种方法
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(first.this,Second.class);
startActivityForResult(intent,1);
}
}); @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1 && resultCode == 2){
String a = data.getStringExtra("AAA");
tv.setText(a);
}
----------------------华丽丽de分界线-----------------------
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(); //回传intent不需要参数了
String s= (String)tv.getText();
intent.putExtra("AAA",s); //给意图intent添加key、value
setResult(2, intent); //设置返回标号 ,这里是2;回传的是intent finish(); //销毁当前页面
}
});
1.startActivityForResult(intent,requestCode);有返回值
第一个参数是Intent对象
第二个参数是请求的一个标识,即请求标号
2.通过startActivityForResult跳转,接收返回数据的方法
onActivityResult(int requestCode,int resultCode,Intentdata)
第一个参数是请求的标识
第二个参数是第二个页面返回的标识
第三个参数是第二个页面回传的数据
3.setResult(resultCode,data)
回传到第一个页面实际上是一个Intent对象
Intent data=new Intent();
data.putExtra("data",content);
setResut(2,data);
finish();//结束当前页面
最新文章
- 《转载》Spring MVC之@RequestBody, @ResponseBody 详解
- 解析 Linux 内核可装载模块的版本检查机制
- Ubuntu下查看机器信息
- java数据结构_附12_图、顶点和边的定义(双链存储)
- 提升手持设备点击速度之touch事件带来的坑!
- ubuntu 安装phpmyadmin
- 【PHP】将EXCEL表中的数据轻松导入Mysql数据表
- Meth | phpstorm 2016.2 的最新破解方法(截止2016-8-1)
- 我的Python成长之路---第三天---Python基础(13)---2016年1月16日(雾霾)
- 移动端 iphone touchmove滑到边界(浏览器地址拦及以上) touchend失效解决办法
- Gentoo/Funtoo USE标记介绍
- Ubuntu 启动服务 失败 的 可能解决办法
- [转] Torch中实现mini-batch RNN
- ES6 用Promise对象实现的 Ajax 操作
- ES Log4J配置信息
- (C++)UrlEncode的标准实现
- python-Lock锁线程同步和互斥
- treegrid -表格树异步加载
- 【PMP考试专栏】01、五大过程组和十大知识领域
- django笔记-model
热门文章
- Java中的字节,字符与编码,解码
- TypeScript01 编译环境的搭建、字符串特性、类型特性
- Linux下Apache虚拟主机配置
- lua程序设计(第4版)第二章习题
- 使用Python执行dos命令并获取输出的结果
- [转帖]【架构系列】龙芯loongson简介
- 初学K3Cloud开发
- 桥接模式下访问虚拟机中的Django项目
- 【转载】启动redis出现Creating Server TCP listening socket *:6379: bind: No such file or directory
- 老贾的幸福生活day03 之思维导图