问题:
viewPager中的一个pager使用startActivityForResult
跳转到一个Activity 在Activity中点击按钮调用setResult(Activity.RESULT_OK, intent)
理想中的效果应该是返回到pager中调用onActivityResult
但是在pager的onActivityResult没有被调用
原因:
从网上看了很多解决方法都没有用,我在viewPager所在的Acticity里添加onActivityResult方法,断点显示是被调用了,那就是说我的setResult被Activity劫持了,没有传到pager里
解决方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 123987 && resultCode == Activity.RESULT_OK) {
} else {
for (ContentBasePager c : pagerList){
c.onActivityResult(requestCode, resultCode, data);
}
}
}
在Activity的onActivityResult方法中遍历viewPager的子pager,然后调用子pager的onActivityResult.问题解决