diff --git a/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java b/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java index 6e596e16883..05cb6a48d1e 100644 --- a/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java +++ b/src/com/android/settings/localepicker/LocalePickerWithRegionActivity.java @@ -39,6 +39,7 @@ public class LocalePickerWithRegionActivity extends SettingsBaseActivity implements LocalePickerWithRegion.LocaleSelectedListener, MenuItem.OnActionExpandListener { private static final String TAG = LocalePickerWithRegionActivity.class.getSimpleName(); private static final String PARENT_FRAGMENT_NAME = "localeListEditor"; + private static final String CHILD_FRAGMENT_NAME = "LocalePickerWithRegion"; private LocalePickerWithRegion mSelector; @@ -68,12 +69,15 @@ public class LocalePickerWithRegionActivity extends SettingsBaseActivity explicitLocales, null /* appPackageName */, this); - getFragmentManager() - .beginTransaction() - .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) - .replace(R.id.content_frame, mSelector) - .addToBackStack(PARENT_FRAGMENT_NAME) - .commit(); + + if (getFragmentManager().findFragmentByTag(CHILD_FRAGMENT_NAME) == null) { + getFragmentManager() + .beginTransaction() + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + .replace(R.id.content_frame, mSelector, CHILD_FRAGMENT_NAME) + .addToBackStack(PARENT_FRAGMENT_NAME) + .commit(); + } } @Override