ViewPager中的子Activity无法响应OnActivityResult的解决方法

ViewPager子Activity通过startActivityForResult()跳转至OtherActivity,OtherActivity回传结果由ViewPager所在的父Activity捕获并下发至子Activity,具体操作如下:

Step1:在子Activity中调用跳转语句。

getParent().startActivityForResult(intent, 1);

Step2:在父Activity中重写OnActivityResult方法。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
          T3_MembersActivity activity_t3 = (T3_MembersActivity) manager
                      .getActivity("C");
          activity_t3.handleActivityResult(requestCode, resultCode, data);
}

 其中T3_MembersActivity为ViewPager中的某个子Activity。

manager.getActivity("C");这句是为了获取装载在ViewPager中的T3_MembersActivity的活动实例。

Step3:在子Activity中编写实际处理代码。

对回传结果的处理实际上由T3_MembersActivity的handleActivityResult(requestCode, resultCode, data)方法完成。

参考网址:http://blog.csdn.net/miueugene/article/details/19984695

 

原文地址:https://www.cnblogs.com/nailperry/p/4246144.html