ドキュメントはDialog
クラスからdismiss()
メソッドのためにこれを言う:私のコードでは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().
、私はすべてそれを却下する呼び出しgetDialog().dismiss()
です。しかし、私は何もしていない、あるいはonStop()
を使っています。だから、正確にどのようにメモリリークなどを避けるためにDialogFragment
を却下するかを尋ねています。
残念ながら、これは私の含まれているアクティビティが終了する原因となっています... –
@ScootrNova:あなたはおそらく他の場所にバグを持ってはいけません。どのように断片を作りますか? – Heinzi
'protected void showDialogFragment(最終的なDialogFragmentフラグメント){final FragmentTransaction fTransaction = getSupportFragmentManager()。beginTransaction(); fTransaction.addToBackStack(null); fragment.show(fTransaction、 "dialog");} ' 厄介なライナーのために申し訳ありません!しかし、あなたが正しいかもしれないので、当分の間、私はDialogFragmentsを閉じる別の方法を書いてきました。私がdismiss()メソッドを使ってそれらを却下する方法は、タグでフラグメントを見つけて、それがヌルでない場合にはdismiss()を実行することでした。ああ、ええ、私はそのメソッドに渡す前に断片を直しています。 –