快速有效解决Fragment中onActivityResult不回调的问题

Posted 胖子爱你520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速有效解决Fragment中onActivityResult不回调的问题相关的知识,希望对你有一定的参考价值。

应用场景:MainActivity嵌套了四个Fragment,信誓旦旦的在Fragment中打开一个功能页QrCodeActivity,在QrCodeActivity页面setResult(RESULT_OK, resultIntent);但是我的Fragment中的onActivityResult方法并没有执行到回调,网上有很多种方法,有的很复杂,下面提供一种简单有效的解决方案。

1.在Fragment对应的MainActivity中,重写了onActivityResult方法,确保加上super.onActivityResult,哪怕MainActivity什么都不做:

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) 
  super.onActivityResult(requestCode, resultCode, data);

2.在Fragment中打开新的页面时,不用使用getActivity().startActivityForResult方式,而是直接用startActivityForResult,使用Fragment自己的context开启页面。

3.在Fragment中实现onActivityResult方法,肯定能走到监听。

如果还不好用,请来打我~

以上是关于快速有效解决Fragment中onActivityResult不回调的问题的主要内容,如果未能解决你的问题,请参考以下文章

当在Fragment中使用startActivityForResult()方法打开一个Activity,但是这个Fragment的onActivityResult方法不执行

fragment之间的信息交互——onActivityResult()不经过Activity

RibbonXml togglebutton OnAction没有找到回调函数

javafx中文本字段的onAction

Javafx fxml onAction

官方架构组件Navigation管理Fragment框架