美文网首页
ViewPager嵌套Fragment,导致onActivity

ViewPager嵌套Fragment,导致onActivity

作者: 程序员文艺范 | 来源:发表于2016-11-14 13:59 被阅读0次

主要描述:项目需要用到,一个activity中包含一个主fragment,而主fragment包含一个viewpager,viewpager中有三个fragment可以切换:
解决过程中的坑:因为网上查询到在activity中重写onActivityResult的方法进行事件分发,后来发现因为activity中包含一个主fragment,因此分发失败。
1、其中第一个fragment有打开上传图片的activity的操作,所以在第一个fragment重写了onActivityResult;
2、而第三个fragment启动ping++的支付activity,而第三个fragment重写的onActivityResult不起作用。
解决办法:如下(重点是onActivityResult的分发)
在ViewPager里面,你只需要在根Fragment(记得是根:也就是我前面描述提到的主fragment)里面添加 如下代码就可以了

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  List frags = getChildFragmentManager().getFragments();
  if (frags != null) {
    for (Fragment f : frags) {
      if (f != null)
      f.onActivityResult(requestCode,resultCode,data);
      }
    }
}

相关文章

网友评论

      本文标题:ViewPager嵌套Fragment,导致onActivity

      本文链接:https://www.haomeiwen.com/subject/lnyhpttx.html