ViewPager的onActivityResult没有调用

问题:

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.问题解决

你可能感兴趣的:(ViewPager的onActivityResult没有调用)