static void PerformDismiss(bool removeCurrent = true) { if (currrentDialog == null) { return; } var transaction = FragmentManager.BeginTransaction(); if (removeCurrent) { transaction.Remove(currrentDialog); transaction.AddToBackStack(null); } currentDialogs.Remove(currrentDialog.HView); currrentDialog = null; var currentView = currentDialogs.LastOrDefault(); if (currentView == null) { transaction.CommitAllowingStateLoss(); return; } currrentDialog = new ViewModal(currentView); currrentDialog.Show(transaction, "dialog"); }
public static void ShowModal(View view) { var transaction = FragmentManager.BeginTransaction(); if (currrentDialog != null) { transaction.Remove(currrentDialog); } transaction.AddToBackStack(null); var dialog = new ViewModal(view); currentDialogs.Add(dialog.HView); currrentDialog = dialog; dialog.Show(transaction, "dialog"); }