在使用fragment 和 fragmentActivity组合,调用startActivityForResult方法可能没有响应,还不知道问题出在哪里。现梳理一下正确的调用方式。
第一种情况:
fragment.java 中
getActivity().startActivityForResult(intent,1001);
这种情况下fragmentActivity下的onActivityResult方法被调用。fragment中的onActivityResult不会被调用。
第二种情况:
fragment.java 中
startActivityForResult(intent,1001);
这种情况下fragmentActivity下的onActivityResult方法被调用,同时注意的是如果fragmentActivity下的onActivityResult方法调用了super.onActivityResult方法,fragment中的onActivityResult也会被调用。
最后,一般情况下使用第二种情况,且不重载fragmentActivity下的onActivityResult方法,除非fragment和activity有互动。出现标题现象的原因大多是重载fragmentActivity下的onActivityResult方法但是没有调用super.onActivityResult方法
本文详细解析了在使用Fragment和FragmentActivity组合时,调用startActivityForResult方法可能导致的问题及解决策略。通过两种不同的调用方式对比,阐述了正确方法并解释了错误调用可能导致的问题。
2348

被折叠的 条评论
为什么被折叠?



