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

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

于郝博客

2017.02.10

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:52%    等级:9

已帮助:813人

大家都觉得这其实很容易 ,只要在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 来确

00分享举报

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值