关于Fragment 不响应 onActivityResult方法

在使用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方法

猜你喜欢

转载自jianweicao.iteye.com/blog/1974194
今日推荐