ANDROID安卓activity与fragment,activity之间互相传值(四)
2016-03-17 11:04
447 查看
之前,关于传值出了三篇文章,但是忽略了一个至关重要的内容,也是传值中很常用的一个,就是回掉传值activity的启动回掉,方法,这个传值在界面通信之间起着至关重要的作用,下面直接看代码
FirsrActivity中
这样用来启动SecondActivity,startActitvityForResult中的第一个参数为启动意图,第二个参数为请求编码,
SecondActivity中
此处是SecondActivity中的设置回传Intent设置 即setResult,第一个参数即是回传的参数,第二个参数是intent.即可以传回多个属性放置在INTENT中,放置bundler也可以,即万物都可以传。
然后继续是FirstActivity中的代码,
这边是传回的值,是在OnActivityResult中,接受,并且做判断,data既是回传的intent,需要判断是否为空,不然的话容易出错
而且需要判断,resultcode是多少,才能够接受使用
FirsrActivity中
Intent intent = new Intent(FirsrActivity.this,SecondActivity.class); startActivityForResult(intent,REQUEST_CODE);
这样用来启动SecondActivity,startActitvityForResult中的第一个参数为启动意图,第二个参数为请求编码,
SecondActivity中
//跳回 Intent intent = new Intent(); intent.putStringArrayListExtra("cMeMber", memberList); setResult(RESULT_CODE,intent); finish();
此处是SecondActivity中的设置回传Intent设置 即setResult,第一个参数即是回传的参数,第二个参数是intent.即可以传回多个属性放置在INTENT中,放置bundler也可以,即万物都可以传。
然后继续是FirstActivity中的代码,
protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(data!=null) { if (requestCode == 1) { t_Adress.setText(data.getStringExtra("DeatailPlace")); } else if (requestCode==2 && resultCode == 2) { OppenentName = data.getStringExtra("cOppenentName"); OppenentID = data.getStringExtra("cOppenentID"); m_tvShowName.setText("" + data.getStringExtra("cOppenentName")); }else if(requestCode == 3) { requestAddMatchBaseBean.cTeamID = data.getStringExtra("cMyTeamID"); m_tvShowMyTeam.setText(""+data.getStringExtra("cMyTeamName")); m_tvShowMyMember.setText("已通知 1 人"); m_tvShowMyMemberTab.setTextColor(Color.parseColor("#e8e8e8")); m_tvShowMyMember.setTextColor(Color.parseColor("#e8e8e8")); }else if(requestCode == 4) { memberlist = new ArrayList<>(); memberlist = data.getStringArrayListExtra("cMeMber"); m_tvShowMyMember.setText("已通知 " + memberlist.size()+" 人"); } } super.onActivityResult(requestCode, resultCode, data); }
这边是传回的值,是在OnActivityResult中,接受,并且做判断,data既是回传的intent,需要判断是否为空,不然的话容易出错
而且需要判断,resultcode是多少,才能够接受使用
相关文章推荐
- android环境搭建时出现各种问题时手动安装的方法
- android 通过eclipse混淆代码、签名
- android事件拦截处理机制详解
- 判断手机是否安装某程序的方法:
- android图像处理之Bitmap
- Android使用SharedPreferences实现登录帐号和密码的保存方法简介
- Android中控件TextView实现跑马灯只显示省略号问题
- android 6.0 修改vold check sd卡同步改成异步机制
- Android第三方登录详解1
- android日常干货
- Android内存泄漏分析及实践(一)
- 浅谈 RxAndroid + Retrofit + Databinding
- android之ThreadLocal详解
- Android---AlarmManager闹钟设置
- Android解决java.lang.RuntimeException: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
- 7_Android动画深入分析
- Android WebView上实现JavaScript与Java交互
- ProgressDialog使用总结
- Android 数据绑定框架DataBinding,堪称解决界面逻辑的黑科技
- Android屏幕适配