Android中Fragment中onActivityResult不被调用的解决方案


    android开发中,Fragment+ViewPager已经很常见了。其实遇到这个问题,其实挺尴尬的,我相信有很多小伙伴都遇到这个问题。我也在网上找了很多资料,说什么是android原生的问题,程序员偷懒了,没有处理这个事件分发等。

指钱看过这位仁兄的文章,试了试,可惜不管用。提示getParentFragment();为null哎……放弃了。

    然后我看到一个方法,但是很抱歉,忘记记下那位博主的链接了,在这里对这位博主说声抱歉。集体的方法呢,一起来看看吧


首先在FragmentAvtivity中 onActivityResult(...)方法中,调用 pagerAdapter.getItem(n).onAvtivityResult(...)方法;

其中,getItem()参数就是你的第某一个Fragment


 @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        mPagerAdapter.getItem(1).onActivityResult(requestCode, resultCode, data);
    }

然后在Fragment中的onActivityResult(...)方法中,就可以响应了,是不是很神奇。。。


到这里你以为就完吧,哈哈哈,没错,这世间就是有太多的出人意料。

怎么可以能这就完了,不信你试试。


哈哈哈,是不是拿不到数据,都是null?

好了,下面这部写法很重要,fragment启动activity的时候,要这么写,fragment.startAvtivityForResult(intent,RESULT_FIRST_USER);

mFragment.startActivityForResult(intent, RESULT_FIRST_USER);

没错,就是这个参数,什么意思呢哈,字面意思啊“结果第一个用户”,就是这么个意思,明白就好。

好了,完成这一步,再试一下,是不是有数据了啊,是不是感觉又回到了两个Avtivity之间跳转的感觉啊,没错,你的感觉是对的,这就真的完成了。不信你试试。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值