summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java b/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java
index 9fe4fd23..a612820d 100644
--- a/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java
+++ b/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java
@@ -40,9 +40,17 @@ public class FragmentManagerEnhanced {
}
public void replace(int containerViewId, Fragment fragment, String tag) {
- FragmentTransaction transaction = genericFragmentManager.beginTransaction();
+ try {
+ if (genericFragmentManager.findFragmentByTag(tag) != null) {
+ FragmentTransaction transaction = genericFragmentManager.beginTransaction();
+ transaction.replace(containerViewId, fragment, tag).commit();
+ } else {
+ genericFragmentManager.beginTransaction().add(containerViewId, fragment, tag).commit();
+ }
+ } catch (IllegalStateException e) {
+ e.printStackTrace();
+ }
- transaction.replace(containerViewId, fragment, tag).commit();
}
public FragmentTransaction beginTransaction() {