Android-Fragment 的 onActivityResult 收不到结果

来源:互联网 发布:网络维修工具包 编辑:程序博客网 时间:2024/06/09 14:26

经常会看见Activity嵌套Fragment中,从Fragment打开另一个Activity,

并重写Activity与Fragment的onActivityResult()方法时,发现该Fragment的onActivityResult()方法不执行,

而执行Activity的onActivityResult()方法.究其原因,就是打开另一个Activity的方式不对.

在Activity中,有activity.startActivityForResult(intent, requestCode);

在Fragment中,同样也有f.startActivityForResult(intent, requestCode);

也就是说 谁打开就调用谁的onActivityResult();


今天在做一个从相册选择图片作为头像的功能,遇到了这个问题.
我的解决方法很简单:在Fragment 跳转相册或者相机的时候,不要用

activity.startActivityForResult(intent, requestCode)

可以把该Fragment的对象传过去,这样跳转

f.startActivityForResult(intent, requestCode);

这样就可以在 Fragment 的onActivityResult 接受结果了,网上也有很多解决方法,目测这是最金蛋的一个了,亲测可用.

0 0
原创粉丝点击