Activity与Fragment的onActivityResult细节

简介: 在Fragment中跳转到另一个Activity,返回时是调用Activity的onActivityResult呢?还是调用Fragment的onActivityResult呢?我当然知道,只不过我再碰到时忘记了,然后每次忘记都要从新去网上找,不如做个Test然后记录下来。

在Fragment中跳转到另一个Activity,返回时是调用Activity的onActivityResult呢?还是调用Fragment的onActivityResult呢?
我当然知道,只不过我再碰到时忘记了,然后每次忘记都要从新去网上找,不如做个Test然后记录下来。

情况一

如果在Fragment中使用的是getActivity().startActivityForResult()
那么返回时只会调用Activity的onActivityResult

img_a97d60a83a49f186117ff7f5342eabad.png

情况二

如果在Fragment中使用的是startActivityForResult()
那么返回时会先调用Fragment的onActivityResult,再调用Activity的onActivityResult。
关键是请求参数requestCode在两个地方还不同,我测试3次,结果如下:

img_6e1c551fec53247e462fc7082701440e.png
img_9a3debdb2045e4853ab1dcd9b209cbaa.png
img_9cb6df557f823e72919248ac3b00a466.png

可以发现在activity中的requestCode 是 requestCode + 65536
所以如果你要在两个地方都做操作的话注意一下这个requestCode 。

最后科普一下这个65536是什么意思: 65535是16位二进制能表示的最大数值,也就是0xFFFF

源码这次就不走了,真的没时间走源码

目录
相关文章
|
8月前
|
Android开发
RecyclerView的简单使用在activity和fragment中
RecyclerView的简单使用在activity和fragment中
124 0
|
8月前
fragment启动activity方法
fragment启动activity方法
62 1
|
XML 缓存 Android开发
QMUI实战(二)—Activity 和 Fragment,我们该选择谁?
在一开始,官方只提供了 Activity 来作为 UI 界面的载体,因此我们也别无选择,只能用它。而在 Android 3.0 后,Fragment 也面世了,它一开始是用于适配平板的,以邮件列表与详情的适配为例,手机端够小,因此开始展示列表,点击进入详情,而平板够大,则可以列表显示在左侧,详情显示在右侧,点击列表只是切换详情。对于这种适配场景,列表页和详情页必须在同一个 Activity 里了,而这便是我所知道的 Fragment 诞生的场景了。
215 0
|
XML ARouter API
Fragivity:像使用Activity一样使用Fragment
近年来,SPA,即单Activity架构逐渐开始受到欢迎,随之而生了很多优秀的三方库,大部分是基于Fragment作为实现方案,Fragivity 使用 Fragment + Navigatiion 打造最好用的 SPA 框架
513 0
|
索引
解决Fragment多层嵌套时onActivityResult无法正确回调的问题
解决Fragment多层嵌套时onActivityResult无法正确回调的问题
Activity往另外一个Activity传值,Fragment获取另外一个Activity里面的值。
在oneActivity中实现跳转到MainActivity        //intent 用来跳转另外一个MainActivity,bundle传值到MainActivity         Intent MainActivity = new Intent();         MainActivity .
1286 0
怎么知道Fragment属于哪个Activity呢?
如果程序是一条线运行的,Fragment 中 getActivity() 是获取的上一个打开或者执行的Activity中的值。   多个Activity也是如此,就看顺序是怎么执行的,getActivity获得的是当前Activity的上下文,也就是上一个Activity的值。
1262 0

热门文章

最新文章