前言
主要记录2个问题:
1.在Fragment里启动某个Activity后在返回,希望从Fragment下的onActivityResult获取数据,但是不执行的问题。
2.在Fragment里启动某个Activity后在返回,希望从Fragment的根Activity下的onActivityResult获取数据,但是requestCode返回的是随机值。
第一个问题 Fragment下的onActivityResult获取数据,但是不执行的问题
1.首先在Fragment启动Activity时需要使用,Fragment自带的startActivityForResult()方法,不能使用getActivity()的startActivityForResult()
Intent intent = new Intent(getContext(), AddActivity.class); startActivityForResult(intent, 1);
2.如果有在Activity里重写onActivityResult,那么一定要实现super.onActivityResult(requestCode, resultCode, data);否则Fragment的onActivityResult会无法接收到数据
第二个问题 Fragment的根Activity下的onActivityResult获取数据,但是requestCode返回的是随机值
原因是你在Fragment里启动目标Activity时,使用了Fragment自带的startActivityForResult,这里应该使用getActivity()的startActivityForResult(),如下
在Fragment里:
Intent intent = new Intent(getContext(), AddActivity.class); getActivity().startActivityForResult(intent, 1);
End
onActivityResult
本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/14549027.html
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
浙公网安备 33010602011771号