fragment不响应onActivityResult

本文探讨了在使用FragmentActivity和Fragment时启动activity并返回结果的问题。当从Fragment启动activity后,返回的结果默认传递给了FragmentActivity的onActivityResult方法。为使Fragment接收到返回结果,需在FragmentActivity的onActivityResult中调用super.onActivityResult,以确保结果能够继续传递给相关Fragment。

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

http://home.51.com/90223652/diary/item/10053184.html 

 

问题:今天写的程序用了FragmentActivity和Fragment。在Fragment中使用startActivityForResult起了一个activity,activity运行完返回结果后Fragement的onActivityResult却不会被调用。override了host fragment的FragmentActivity的onActivityResult,发现onActivityResult在这里可以被调用到。Fragment中调用:
                Intent  imgPickerIntent= new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);               

                startActivityForResult(imgPickerIntent, 1234);
原因:返回的result先传至Fragment的host FragmentActiivity。这个FragementActivity的onActivityResult函数必须调用super.onActiivtyResult()。super.onActiivtyResult会将未被处理的result消息继续传给其host的fragement的onActiivtyResult。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值