Docs powiedzieć to dla metody z klasy Dialog
dismiss()
:Jak poprawnie odrzucić DialogFragment?
Dismiss this dialog, removing it from the screen. This method can be invoked safely from any thread. Note that you should not override this method to do cleanup when the dialog is dismissed, instead implement that in onStop().
W moim kodu, wszystko co robię jest wywołanie getDialog().dismiss()
aby ją odrzucić. Ale nie robię nic innego ani nawet nie używam onStop()
. Pytam więc dokładnie, jak prawidłowo odwołać DialogFragment
aby uniknąć wycieków pamięci, etc ..
Niestety to powoduje, że moja czynność zawierająca kończy się ... –
@ScootrNova: Nie powinno, prawdopodobnie masz błąd w innym miejscu. Jak tworzysz fragment? – Heinzi
'protected void showDialogFragment (ostatni fragment DialogFragment) {final FragmentTransaction fTransaction = getSupportFragmentManager(). BeginTransaction(); fTransaction.addToBackStack (null); fragment.show (fTransaction, "dialog");} ' Przepraszam za paskudny jeden liniowiec! Ale tak, możesz mieć rację, więc na razie napisałem inny sposób na zamknięcie moich DialogFragmentów. Sposób, w jaki ich odwoływałem za pomocą metody dismiss(), polegał na znalezieniu fragmentu według znacznika, a następnie uruchomieniu metody dismiss(), jeśli nie było wartości NULL. Och i tak, jestem "nowy" fragment tuż przed przekazaniem go do tej metody. –