android 从fragment跳转到activity怎么再返回对应的fragment

 我来答
热切还通亮的小夜鹰7
2017-02-10 · TA获得超过212个赞
知道小有建树答主
回答量:393
采纳率:0%
帮助的人:147万
展开全部
大家都觉得这其实很容易 ,只要在FA中加 startActivityForResult(intent, requestCode); ,再在Activity的返回事件中设置ActivityC.this.setResult(resultCode); , 以及在
MainActivity 中重写 onActivityResult(int requestCode, int resultCode, Intent data) 方法。是的, 基本就是这样的 ,但是当你使用的时候 ,你会发现MainActivity中的
onActivityResult 方法会出现没有调用的情况, 简单理解就是没有返回到FB , 而是返回到默认的fragment。
怎么达到我们的需求呢 , 第一,在FA中的startActivityForResult(intent, requestCode);方法前面加 getActivity(). 这样可以让FA的宿主MainActivit启动目标ActivityC,这样就可以在MainActivit 中重写的 onActivityResult方法捕获到返回值 , 接下来就可以在MainActivity中判断requestCode以及 resultCode 来决定显示哪个fragment。
一下分别是 FB中执行的代码

[java] view plain copy
getActivity().startActivityForResult(intent, 1);

ActivityC 事件执行的代码:

[java] view plain copy
// 这两句是放在点击返回控件触发的事件里面
ActivityC.this.setResult(2);
ActivityC.this.finish();
MainActivity的代码:

[java] view plain copy
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
/**
* 判断requestCode, resultCode 来确
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式