调用startActivityForResult方法后,无法回调OnActivityResult方法

我在MainActivity里实现了一个viewpager,每一个viewpager是一个fragment,在第一个fragment 里又 创建了 三个fragment 分别为A, B C

每个fragment 都是通过 commit 这种方式启动的,在A fragment 里,调用startActivityForResult 方法,启动Activity 后,在Activity 里调用activitysetResult 方法设置ReslutCode 后,并执行了finish 方法,但是fragment 的OnActivityResult 方法就是不调用。

大神们,今天我在第一个fragment 里写了OnActivityResult 方法,我从Activity里 finish 的时候,没有调用启动它的fragment, 而是调用了,启动它fragment 的父 fragment ,这是为什么呢????

希望大神们指点迷津啊????

阅读 7.8k
2 个回答

OnActivityResult 是不是在第一个fragment本调用了?

排查:
1、你是否使用了singleInstance模式了?这个模式不会调OnActivityResult方法的。
2、这里有一片文章 链接地址

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题