前言:

        在多层嵌套Fragment时Fragment遇到onActivityResult无效怎么办?

1.在使用fragment的activity上重写onActivityResult

@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        getSupportFragmentManager().getFragments();
        if (getSupportFragmentManager().getFragments().size() > 0) {
            List<Fragment> fragments = getSupportFragmentManager().getFragments();
            for (Fragment mFragment : fragments) {
                mFragment.onActivityResult(requestCode, resultCode, data);
            }
        }
    }

其中Fragment fragment = RepairFragment.getInstance();这句的意思是找到相对应的fragment,也可以通过fragment管理器
Fragment f = fragmentManager.findFragmentByTag(curFragmentTag);

2.fragment里重写onActivityResult就可以了

fragment有get 或 requrst 获取activity

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐