- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
在上篇谈到了Activity的生命周期,并列举了一个实例。这里,将针对那个实例程序,简单的讲述下Activity间的切换实现和数据传递以及上一个Activity返回结果的获取和处理。
(1)首先是Activity的简单跳转:
Activity的切换一般是通过Intent来实现的,Intent是一个Activity到达另一个Activity的引路者,它描述了起点(当前Activity)和终点(目标Activity)。一个简单Intent实现如下:
Intentintent=newIntent(); //创建一个Intent对象
intent.setClass(activity1.this,activity2.class);//描述起点和目标3.startActivity(intent); //开
始跳转
通常,我们在Activity的切换中,希望把前一个Activity
的某些数据传递给下一个Activity。这时,我们可以借助Bundle来实现。
Bundle,相当于数据存储包,用于存放我们想要转达的数据。打个比方,Intent就像一封邮件,里面有送信人地址(原始Activity),也有收信人地址(目标Activity),而Bundle就是附件也可看做是信件内容。下面是它的简单实现:
a、Activity1发送:
Intentintent=newIntent();
intent.setClass(activity1.this,activity2.class); //描述起点和目标3.Bundlebundle=newBundle(); //创建Bundle对象
bundle.putString(something,Activity1发来的数据); //装入数据
intent.putExtras(bundle); //把
Bundle塞入Intent里面
startActivity(intent); //开
始切换
b、Activity2接受从Activity1发来的数据:
1.Intentintent=this.getIntent(); //获取已有的intent对象2.Bundlebundle=intent.getExtras(); //获取intent里面的bundle对象
3.string=bundle.getString(something); //获取Bundle里面的字符串
解决了如何传递数据问题,那么下一个问题是如何接受从目标Activity返回的处理结果。这里有两种方式,一是在onRestart方法(onRestrart表示重启Activity时激发的事件,具体看上一篇的生命周期)里面接受处理结果,方法实现和Activity2接受从Activity1发来的数据处理一样。另一种方式,是采用应答模式切换。这里,主要下第二种方式。应答模式切换和普通的切换不同在于,普通的是有去没回,应答则是有来有往。代码实现也不一样:1、从Activity1切换到Activity2:startActivityForResult(intent,0);2、从Activity2 返回到Activity1:setResult(RESULT_OK, intent)。3、接受返回结果:protected voidonActivityResult()。具体代码如下;
a、从Activity1切换到Activity2:
1.Intentintent=newIntent();
2.intent=intent.setClass(ActivityIntent.this,AnotherActivity.class);3.Bundlebundle=newBundle();
4.bundle.putString(string,et_string.getText().toString());
5.intent.putExtras(bundle);6.startActivityForResult(intent,0); //只有这里不同
7.//ActivityIntent.this.finish(); //不能用finish,会触发onDestroy();
b、从Activity2返回到Activity1:
1.Intentintent=newIntent();
2.intent=intent.setClass(AnotherActivity.this,ActivityIntent.class);3.Bundlebundle=newB
您可能关注的文档
- 20202021学年人教版英语七年级下册重点单词、短语 拓展与归纳默写练习.docx
- 20202021学年人教新目标八年级英语上册广东省东莞市期末模拟训练 .docx
- 20202021学年天津市和平区九年级期中数学试卷 解析版.docx
- 20202021学年天津市河西区九年级期中数学试卷 .docx
- 20202021学年译林牛津七年级期中易错题.docx
- 20202021学年浙江省杭州市滨江区部分学校联考七年级第一学期期中测试英语试卷.docx
- 20202021学年浙江省杭州市江干区第一学期九年级英语期末试卷解析.docx
- 20202021学年浙教版九年级上册数学第3章《圆》3135提高卷.docx
- 20202021学年中考数学九年级计算题 习题训练.docx
- 20212021年中考英语模拟卷.docx
- 2022年重庆市梁平区小升初语文真题.pdf
- 2022-2023学年辽宁沈阳铁西区五年级上册语文期末试卷及答案.pdf
- 2023-2024年上海六年级上册语文第一次月考试题及答案B卷.pdf
- 2022-2023学年河北省承德市兴隆县四年级上学期期中数学真题及答案.pdf
- 2022下半年湖南教师资格证中学教育知识与能力真题及答案.pdf
- 2022-2023学年福建省厦门市集美区三年级上学期期末语文试卷及答案.pdf
- 2024年福建漳州教师招聘考试模拟题及答案.pdf
- 2022年辽宁成人高考高起点数学(文)真题及答案.pdf
- 2022年宁夏成人高考专升本语文真题及答案.pdf
- 2022-2023学年湖南衡阳耒阳市五年级上册语文期末试卷及答案.pdf
最近下载
- 党员领导干部2024年度民主生活会个人对照检查材料.docx VIP
- 新改版苏教版六年级下册科学全册知识点.doc
- 建设单位管理指南.ppt VIP
- 人力资源管理诊断告及建议.ppt
- 新闻采访与写作.ppt VIP
- 项目1 1.1 植物生产与环境概述(1)(课件)- 《植物生产与环境》(高教版第四版)同步精品课堂.pptx
- (人教2024版)英语七年级下册全册单元知识点讲解+思维导图(新教材).docx
- 2025年临床医师定期考核试题中医知识题库及答案(共300题).doc
- 学校校长2023年度生活会个人对照检查材料.doc VIP
- 2024-2025年度民主生活个人“四个带头”检查发言材料八篇.docx VIP
文档评论(0)