diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/ConversationActivity.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ConversationActivity.java | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationActivity.java b/src/main/java/de/pixart/messenger/ui/ConversationActivity.java index c3fdfefa2..2103b63e5 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationActivity.java @@ -173,17 +173,24 @@ public class ConversationActivity extends XmppActivity implements OnConversation final boolean mainNeedsRefresh; if (conversationFragment == null) { mainNeedsRefresh = false; - conversationFragment = new ConversationFragment(); - FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); - fragmentTransaction.replace(R.id.main_fragment, conversationFragment); - fragmentTransaction.addToBackStack(null); - fragmentTransaction.commit(); + Fragment mainFragment = getFragmentManager().findFragmentById(R.id.main_fragment); + if (mainFragment != null && mainFragment instanceof ConversationFragment) { + conversationFragment = (ConversationFragment) mainFragment; + } else { + conversationFragment = new ConversationFragment(); + FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); + fragmentTransaction.replace(R.id.main_fragment, conversationFragment); + fragmentTransaction.addToBackStack(null); + fragmentTransaction.commit(); + } } else { mainNeedsRefresh = true; } conversationFragment.reInit(conversation); if (mainNeedsRefresh) { refreshFragment(R.id.main_fragment); + } else { + invalidateActionBarTitle(); } } |