Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kamikat/c464e25b877e29613d68 to your computer and use it in GitHub Desktop.
Save kamikat/c464e25b877e29613d68 to your computer and use it in GitHub Desktop.
Android support library onActivityResult() bug fix for nested fragments
@Override
public void startActivityForResult(Intent intent, int requestCode) {
if (getParentFragment() != null) {
getParentFragment().startActivityForResult(intent, requestCode);
} else {
super.startActivityForResult(intent, requestCode);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// notifying nested fragments (support library bug fix)
final FragmentManager childFragmentManager = getChildFragmentManager();
if (childFragmentManager != null) {
final List<Fragment> nestedFragments = childFragmentManager.getFragments();
if (nestedFragments == null || nestedFragments.size() == 0) return;
for (Fragment childFragment : nestedFragments) {
if (childFragment != null && !childFragment.isDetached() && !childFragment.isRemoving()) {
childFragment.onActivityResult(requestCode, resultCode, data);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment