ViewPager嵌套Fragment,导致onActivityResult无法调用的问题

本文解决ViewPager嵌套Fragment中使用startActivityForResult无法正常接收返回值的问题。介绍了23.2.0版本前后的修复方案,特别是对于23.2.0之后版本的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ViewPager嵌套Fragment,导致onActivityResult无法调用的问题

Why Fragment中使用startActivityForResult是一个很常用的功能,但是这会存在一个问题就是,onActivityResult里面不会接受回调,23.2.0之前的包就是一个公认的bug,如果你使用的是在ViewPager里面调用startActivityForResult难度系数上升100%。
How 那么如何解决这个问题呢?
1、23.2.0之前的包,网上有很多解决方案,http://www.myexception.cn/android/1908553.html
2、23.2.0以后的包,我会告诉你,这个包修复了在Fragment里面调用startActivityForResult接受不到返回值的问题,在ViewPager里面,你只需要在根Fragment(记得是根)里面添加 如下代码就可以了
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

    List<Fragment> frags = getChildFragmentManager().getFragments();
    if (frags != null) {
        for (Fragment f : frags) {
            if (f != null)
                f.onActivityResult(requestCode,resultCode,data);
        }
    }
}

What这个模块我不知道说些什么了,反正Stay不会打我,大神带你飞: http://stay4it.com/报我名字给优惠

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值