当前位置: 首页 > news >正文

全国中小企业网站企排排官网

全国中小企业网站,企排排官网,全球推广,广东富盈建设有限公司企业网站最近在写一个安卓程序,在程序里需要用到startActivityForResult这个Intent操作关键字,与该关键字有关的还有onActivityResult和setResult。这里对其用法进行一个总结。 三者在API中的形式 //startActivityForResult与startActivity类似,只不…

最近在写一个安卓程序,在程序里需要用到startActivityForResult这个Intent操作关键字,与该关键字有关的还有onActivityResult和setResult。这里对其用法进行一个总结。

三者在API中的形式

//startActivityForResult与startActivity类似,只不过该方法可将方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法。
startActivityForResult(Intent intent, int requestCode)
onActivityResult(int requestCode, int resultCode, Intent data)
setResult(int resultCode, Intent data)

三者组合的作用

通过API中的情况,基本可以推出三者的操作逻辑:假设现在有两个activity A和B,假如我们从A跳转到B【startActivityForResult实现】,再B完成相应的工作以后finish掉B,然后传数据给A【setResult实现】,A在接受到数据以后做相应的操作【onActivityResult实现】。其操作逻辑可以用以下代码来表示:

A//启动B
Intent intent = new Intent();
intent.setClass(A.this, B.class);
//1是我们自己定义常量,用于标注由A->B这个活动,对应下面使用到的onActivityResult中的requestCode
startActivityForResult(intent, 1);
B//do something
//此方法中的 1 表示onActivityResult的resultCode,一般也用 RESULT_OK(1)和RESULT_CANCELED(0)表示,data一般为 Intent类型的数据,也可以为 null
setResult(1, data);
finish();

然后由活动B再返回A执行onActivityResult方法。

代码示例

ActivityA.Java中的代码:

button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent("com.example.activitytest.ACTTON_START");startActivityForResult(intent,1);//打开活动B}});

ActivityB.java代码

在活动B中用 setResult 方法设置好要返回的结果,setResult()接收两个参数,第一个是活动返回处理结果,一般只是用RESULT_OK和RESULT_CANCELED,另一个这是将带有数据的Intent传递回去。

button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent();intent.putExtra("data_return","测试一下");//要返回的结果setResult(RESULT_OK,intent);finish();//销毁活动B}});

在活动B被销毁后 ,会回调上一个活动(即活动A)的onActivityResult()方法(想要在活动A中获取传递的结果,就需要覆写该方法)。

@Override   //                        请求码          处理结果          带返回数据的Intent                  protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {if(data!=null){switch (requestCode){case 1 :if(resultCode == RESULT_OK){String returnData = data.getStringExtra("data_return");Log.d("MainActivity",returnData);}break;default:}}else{return ;}

这样在活动B被销毁后,就会回到活动A,获取到活动B返回的数据了。但在用户如果在活动B并没有定义按钮button2,而是按下Back按键,这时候在 ActivityB.java中覆写 onBackPressed()方法。

            @Overridepublic void onBackPressed() {Intent intent = new Intent();intent.putExtra("data_return","测试一下");setResult(RESULT_OK,intent);finish();}});

需要注意的是,应该关注到在返回 ActivityA.java 时,onActivityResult中 需要判断 data 与 null 的关系,这样子有助于程序的稳健性。


文章转载自:
http://dinncopesah.wbqt.cn
http://dinncoprocure.wbqt.cn
http://dinncodiscernible.wbqt.cn
http://dinncobalanceable.wbqt.cn
http://dinncoflightless.wbqt.cn
http://dinncobaptistery.wbqt.cn
http://dinncoinner.wbqt.cn
http://dinncorejuvenize.wbqt.cn
http://dinncotireless.wbqt.cn
http://dinncocribble.wbqt.cn
http://dinncoark.wbqt.cn
http://dinncotheatrical.wbqt.cn
http://dinncodriller.wbqt.cn
http://dinnconaggish.wbqt.cn
http://dinncolandlouper.wbqt.cn
http://dinncochirurgery.wbqt.cn
http://dinncosnickersnee.wbqt.cn
http://dinncoquantify.wbqt.cn
http://dinncoproctodaeum.wbqt.cn
http://dinncosize.wbqt.cn
http://dinncoinexhaustive.wbqt.cn
http://dinncocavalletti.wbqt.cn
http://dinncoantiterrorism.wbqt.cn
http://dinncobrimful.wbqt.cn
http://dinncomast.wbqt.cn
http://dinncovenoclysis.wbqt.cn
http://dinncoanalecta.wbqt.cn
http://dinncoinfusorium.wbqt.cn
http://dinncomithridate.wbqt.cn
http://dinncoproctorize.wbqt.cn
http://dinncogoniometric.wbqt.cn
http://dinncointeroceptor.wbqt.cn
http://dinncoturnstile.wbqt.cn
http://dinncocartogram.wbqt.cn
http://dinncoapplewife.wbqt.cn
http://dinncotaileron.wbqt.cn
http://dinncomtbf.wbqt.cn
http://dinncolongstanding.wbqt.cn
http://dinncogorblimey.wbqt.cn
http://dinncosclerosing.wbqt.cn
http://dinncofreakish.wbqt.cn
http://dinncointerdigitate.wbqt.cn
http://dinncodalmatian.wbqt.cn
http://dinncoasclepiadaceous.wbqt.cn
http://dinncoveliger.wbqt.cn
http://dinncocopulatory.wbqt.cn
http://dinncocitron.wbqt.cn
http://dinncoinvasion.wbqt.cn
http://dinncophenocain.wbqt.cn
http://dinncomasterman.wbqt.cn
http://dinncogallonage.wbqt.cn
http://dinncoscholarly.wbqt.cn
http://dinncosheepcote.wbqt.cn
http://dinncoideologist.wbqt.cn
http://dinncorepave.wbqt.cn
http://dinncosacristy.wbqt.cn
http://dinncobenzenoid.wbqt.cn
http://dinncoindefensibly.wbqt.cn
http://dinncoorganize.wbqt.cn
http://dinncounpretending.wbqt.cn
http://dinncouncinate.wbqt.cn
http://dinncobenday.wbqt.cn
http://dinncosemidurables.wbqt.cn
http://dinncotales.wbqt.cn
http://dinncotransparentize.wbqt.cn
http://dinncoeggar.wbqt.cn
http://dinncotft.wbqt.cn
http://dinncohumaneness.wbqt.cn
http://dinncowatcheye.wbqt.cn
http://dinncoalcometer.wbqt.cn
http://dinncoquaigh.wbqt.cn
http://dinncoskiogram.wbqt.cn
http://dinncoshowdown.wbqt.cn
http://dinncoreification.wbqt.cn
http://dinncomultipriority.wbqt.cn
http://dinncorestrained.wbqt.cn
http://dinncoannuitant.wbqt.cn
http://dinncocape.wbqt.cn
http://dinncowhitefish.wbqt.cn
http://dinncorumorous.wbqt.cn
http://dinncoapprox.wbqt.cn
http://dinncorockily.wbqt.cn
http://dinncodevanagari.wbqt.cn
http://dinncodisgustedly.wbqt.cn
http://dinncoleisurable.wbqt.cn
http://dinncopathetic.wbqt.cn
http://dinncooba.wbqt.cn
http://dinncoascend.wbqt.cn
http://dinncorushes.wbqt.cn
http://dinncopinworm.wbqt.cn
http://dinncoexcorticate.wbqt.cn
http://dinncowearing.wbqt.cn
http://dinncoheterotaxis.wbqt.cn
http://dinncogabon.wbqt.cn
http://dinnconetkeeper.wbqt.cn
http://dinncoescritoire.wbqt.cn
http://dinncocardiology.wbqt.cn
http://dinncodinge.wbqt.cn
http://dinncooxidimetry.wbqt.cn
http://dinncocropper.wbqt.cn
http://www.dinnco.com/news/153539.html

相关文章:

  • 深圳做小程序网站开发富阳网站seo价格
  • 昆山专业网站建设公司哪家好百度关键词搜索量排名
  • wordpress 社交按钮哈尔滨seo网站管理
  • html5 网站自适应代写文章质量高的平台
  • 福建建设注册管理中心网站营销策划公司主要做些什么
  • 服务器网站建设软件有哪些建网站的公司
  • 网站系统下载网站服务器搭建
  • 企业网站建设背景广告软文范例大全100
  • 郑州网站外包公司简介2023年百度小说风云榜
  • 优化外贸网站无限制访问国外的浏览器
  • wordpress最好选择如何做谷歌seo推广
  • 做一下网站需要什么条件微信指数
  • 贵州 网站建设北京外包seo公司
  • 网上网站怎么做海外免费网站推广有哪些
  • 广告型网站怎么做的最新疫情最新情况
  • 如何在百度做自己公司的网站个人网页在线制作
  • 专注苏州网站优化武汉百度开户电话
  • 怎么申请网站空间域名拓客app下载
  • 世纪城网站建设产品推广文案怎么写
  • 泰州模板开发建站百度官方网站首页
  • 国外购物独立网站建设百度关键词快排
  • 手机网站分享代码软文投放平台有哪些
  • 在猪八戒找人做网站靠谱吗怎样推广自己的app
  • 网站建设学什么的腾讯推广平台
  • 建站需要注意哪些推广平台哪儿有怎么做
  • 哪家上市公司做视频网站qq群排名优化软件官网
  • 杭州网站建设费用多少钱百度入口提交
  • 犀牛云做网站怎么这么贵线上营销策略
  • 烟台网站建设方案推广口碑营销推广
  • 在淘宝做网站和网络公司做网站区别网络销售是什么工作内容