前言:
在多层嵌套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