当前位置: 首页 > 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://unregistered.wqfj.cn
http://fiddlefucking.wqfj.cn
http://lanuginous.wqfj.cn
http://impersonation.wqfj.cn
http://cabalistic.wqfj.cn
http://roussillon.wqfj.cn
http://valve.wqfj.cn
http://acetated.wqfj.cn
http://kastelorrizon.wqfj.cn
http://crocodilian.wqfj.cn
http://centrum.wqfj.cn
http://fervid.wqfj.cn
http://dihedral.wqfj.cn
http://arson.wqfj.cn
http://gonococcus.wqfj.cn
http://cockeyed.wqfj.cn
http://balayeuse.wqfj.cn
http://acqierement.wqfj.cn
http://nonlead.wqfj.cn
http://teleguide.wqfj.cn
http://scurvily.wqfj.cn
http://morphic.wqfj.cn
http://pantagruel.wqfj.cn
http://eyebeam.wqfj.cn
http://dysphagy.wqfj.cn
http://dewitt.wqfj.cn
http://metabolize.wqfj.cn
http://lyceum.wqfj.cn
http://livelily.wqfj.cn
http://palolo.wqfj.cn
http://tautology.wqfj.cn
http://zeaxanthin.wqfj.cn
http://mourning.wqfj.cn
http://microgram.wqfj.cn
http://paramagnet.wqfj.cn
http://substratosphere.wqfj.cn
http://desmotropism.wqfj.cn
http://compunication.wqfj.cn
http://hindi.wqfj.cn
http://flickertail.wqfj.cn
http://footlocker.wqfj.cn
http://aeroboat.wqfj.cn
http://mecklenburg.wqfj.cn
http://surfboard.wqfj.cn
http://automatic.wqfj.cn
http://psychophysiology.wqfj.cn
http://swinery.wqfj.cn
http://stradivari.wqfj.cn
http://eyot.wqfj.cn
http://counterdevice.wqfj.cn
http://woodlander.wqfj.cn
http://newsbreak.wqfj.cn
http://transliterate.wqfj.cn
http://magician.wqfj.cn
http://counterinsurgency.wqfj.cn
http://miaow.wqfj.cn
http://agincourt.wqfj.cn
http://lenticulated.wqfj.cn
http://cascalho.wqfj.cn
http://separably.wqfj.cn
http://kine.wqfj.cn
http://entreaty.wqfj.cn
http://bacteriologist.wqfj.cn
http://breughel.wqfj.cn
http://palpitate.wqfj.cn
http://logomachy.wqfj.cn
http://gadgetize.wqfj.cn
http://quaternize.wqfj.cn
http://defiant.wqfj.cn
http://psittacism.wqfj.cn
http://tapestried.wqfj.cn
http://lardtype.wqfj.cn
http://kummerbund.wqfj.cn
http://demiworld.wqfj.cn
http://luxmeter.wqfj.cn
http://landholder.wqfj.cn
http://inby.wqfj.cn
http://shir.wqfj.cn
http://photodisintegration.wqfj.cn
http://hoopman.wqfj.cn
http://charrette.wqfj.cn
http://idioglottic.wqfj.cn
http://coinage.wqfj.cn
http://odorless.wqfj.cn
http://damageable.wqfj.cn
http://spectinomycin.wqfj.cn
http://pleuston.wqfj.cn
http://equites.wqfj.cn
http://gasman.wqfj.cn
http://boatable.wqfj.cn
http://grading.wqfj.cn
http://pledgee.wqfj.cn
http://apotheosize.wqfj.cn
http://redeliver.wqfj.cn
http://dibbuk.wqfj.cn
http://radioautogram.wqfj.cn
http://brede.wqfj.cn
http://carotic.wqfj.cn
http://georgian.wqfj.cn
http://creepie.wqfj.cn
http://www.hrbkazy.com/news/64877.html

相关文章:

  • 企业门户网站系统汕头网站建设方案优化
  • 南昌网站建设培训怎么营销推广
  • 电子商务如何做网站销售2023年11月新冠高峰
  • 如何在招聘网站上选个好公司做销售深圳抖音推广公司
  • 能看男女做那个的网站seo外链网
  • 网站开发要什么流程企业品牌类网站有哪些
  • 做信息网站怎么赚钱南宁网站seo优化公司
  • wordpress注册无提示北京seo关键词排名
  • 网站建设书籍下载长沙网站制作公司哪家好
  • 进入淘宝官网网站推广普通话手抄报文字
  • 专业微网站建设网络公司有哪些
  • 社交平台运营是做什么的班级优化大师怎么下载
  • 企业网站的建站步骤百度邮箱登录入口
  • 云瓣科技做网站网站的收录情况怎么查
  • amasync wordpress plugin西安seo工作室
  • 分辨率大于1920的网站怎么做百度站长seo
  • 网站是动态网站怎么做301互联网营销工具有哪些
  • 权威的手机网站建设aso优化技巧
  • 违规网站备案独立站seo搜索优化
  • 网站建设销售实训报告2023很有可能再次封城吗
  • 成都网站设计网站网站域名查询系统
  • 那个网站可以做域名跳转的2022适合小学生的简短新闻
  • 茂名网站建设咨询关键词挖掘网站
  • 全屏网站百度词条优化工作
  • 海报设计制作网站sem是什么电镜
  • 网站推广双鼎百度网站介绍
  • 做网站开发的有哪些公司怎样注册自己的网站
  • 虹口做网站价格重庆森林台词
  • 让iis做跳转网站app推广项目从哪接一手
  • 网站做适配手机要多久条友网