尝试网上的各种做法,,都没有解决问题,但是也给我了一些Tips。
我的程序结构如下:
MainActivity extends FragmentActivity||—AFragment extends Fragment||—BFragment extends Fragment||—CFragment extends Fragment
我现在AFragment中调用了:
getActivity().startActivityForResult(intent,1002);
Debug发现AFragment中的onActivityResult并没有被调用,却发现了MainActivity中的onActivityResult被调用了,接下来我们可以这样做,AFragment中的onActivityResult原封不动,该做什么做什么,如下
AFragment(int requestCode, int resultCode, Intent data) {if (data == null)return;Bundle bundle = data.getExtras();if (requestCode == 1002) {//做自己的操作}}MainActivity//Fragment的集合List<Fragment> fTabs = new ArrayList<Fragment>();…(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode== 1002){//找到AFragmentAFragment fragment= (AFragment) fTabs.get(0);//调用AFragment的onActivityResultfragment.onActivityResult(requestCode,resultCode,data);}}
坚韧是成功的一大要素,只要在门上敲得够久够大声,终会把人唤醒的。