Fragment 跳转到 Activity 如何接收回来的数据

来源:互联网 发布:windows xp msdn iso 编辑:程序博客网 时间:2024/05/21 03:55

1.在fragment 里跳转

intent=new Intent(getActivity(), ChooseCityActivity.class);
intent.putExtra(Constant.NowCity,locationCity);
getActivity().startActivityForResult(intent,Constant.ChooseCityActivityCode);

****2.另一个activity里接收
定义一个回传数据的intent
一个接收fragement传递数据的intent****

backIntent=new Intent();//回传的Intent
mIntent=getIntent();
currentCity=mIntent.getStringExtra(Constant.NowCity);

定义一个setResult方法
并且在里面传递数据,调用回传

backIntent.putExtra(Constant.ChoosedCity, choosedCity);
// 设置结果,并进行传送
ChooseCityActivity.this.setResult(Constant.ChooseCityActivityResultCode, backIntent);

**3.在 fragment 所在的activity里处理返回结果
本来我是用广播写的数据接收,后面觉得没有必要
注意里面有一行代码是分发到fragment里,一定要加上这行代码,不然fragment里没有回传的数据**

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case Constant.ChooseCityActivityCode:
if (resultCode==Constant.ChooseCityActivityResultCode){
String city=new String();
Log.i(TAG,”data:”+data);
city=data.getStringExtra(Constant.ChoosedCity);
//updateView(city);
//返回首页的时候 替换上次的定位
SharedPreferencesUtils.putShared(MainActivity.this,Constant.LastAdress,city);
mFragment[0].onActivityResult( requestCode, resultCode, data);//分发到Fragment里
//
Log.i(TAG,”city:”+city);
//sendChoosedCityBroadCastReceiver(city);//更新了位置 发送广播
}
break;
}
}

****4.fragment处理回传的数据
重写onActivityResult方法,得到数据,更新UI****

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==Constant.ChooseCityActivityCode&&data!=null){
Bundle bundle=data.getExtras();
if (resultCode==Constant.ChooseCityActivityResultCode){
String city=bundle.getString(Constant.ChoosedCity);
Log.i(TAG,”onActivityResult city=”+city);
updateView(city);
}
}
}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 玩手机头疼恶心怎么办 看手机想吐怎么办 英雄联盟取名后怎么办 王者荣耀改名重复怎么办 刺激战场改名重复怎么办 省钱快报忘记密码怎么办 手机直播网速卡怎么办 触手tv直播黑屏怎么办 酷狗id密码忘记怎么办 打游戏网络不稳定怎么办 电脑打字法没了怎么办 家庭版密钥专业版系统怎么办 win7应用程序不能启动怎么办 win7用户密码忘记了怎么办 win7用户密码忘了怎么办 windows开不了机怎么办 网卡被卸载了怎么办 win7注销黑屏了怎么办 w7密码忘了怎么办 笔记本电脑键盘进水了怎么办 笔记本键盘进水了怎么办 笔记本进水键盘失灵怎么办 win7进不了系统怎么办 电脑显示屏两边黑屏怎么办 win8关机关不了怎么办 win10没激活黑屏怎么办 忘了产品密钥怎么办 小马易贷逾期怎么办 10系统未激活怎么办 win10账户被停用怎么办 win7激活码无效怎么办 windows显示不是正版怎么办 优酷上传错误怎么办 盗版系统会黑屏怎么办 安装了盗版系统怎么办 电脑鼠标不好用怎么办 自己组装电脑系统怎么办 ie双击没反应怎么办 电脑系统删了怎么办 产品密钥不知道怎么办 电脑安装ae崩溃怎么办