DialogFragment优于AlertDialog[重复]

这个问题在这里已经有答案了
Android对话框片段vs对话框

(10个答案)

五年前关闭的

在开发Android应用程序时,我读到建议使用DialogFragment而不是直接使用AlertDialog来显示警报和确认

例如,这是在DialogFragment的文档中完成的:http://developer.android.com/reference/android/app/DialogFragment.html

人们也说他们更喜欢这里:
Android对话框片段vs对话框

我想知道这种方法的优点,因为代码变得更复杂了

谢谢

这很容易。
DialogFragment是一个片段。
那么,一个片段能为您提供什么,而其他对象不能提供什么呢?
这是生命周期回调。
因此,使用DialogFragment,它可以非常强大,并使您的代码更加干净。
如果在对话框活动被破坏时不关闭对话框,您是否见过窗口泄漏?为了防止这种情况发生,您是否曾在调用onPause()时尝试关闭该对话框?要做到这一点,您是否必须将该对话框引用到类级对象?
有了DialogFragment,一切都得到了处理。
您将获得所有生命周期回调。
然后,您可以为对话框提供更多的智能,让它自己做一些智能工作,而不是告诉它该做什么

发表评论