按下该按钮后我有片段按钮,它应该打开 AlertDialog ,其中有两个带图像的按钮,每个按钮一个图像(按钮上没有文字)。一个对话框按钮打开图库以选择照片并将其传回片段其他打开相机以拍摄照片并将其传递给相同的片段。那么我应该使用 DialogFragment ,或者我可以在片段中创建 AlertDialog ,它会没问题吗?我什么时候不需要使用DialogFragments
答案 0 :(得分:3)
" DialogFragment做了各种各样的事情来保持片段的生命周期驱动它,而不是Dialog。请注意,对话框通常是自治实体 - 它们是自己的窗口,接收自己的输入事件,并且经常决定何时消失(通过接收后退键事件或用户点击按钮)。"
来源:对话片段| Android开发者
"这很容易。
DialogFragment是一个片段。那么片段可以提供什么,而其他对象可以“
”它是生命周期的回调。
因此,使用DialogFragment,它可以非常强大,使您的代码更清晰。
如果在活动被破坏时没有关闭对话框,您是否见过窗口泄漏?所以为了防止这种情况,你有没有试过在调用onPause()时关闭对话框?那么,为了做到这一点,您是否曾经不得不将该对话框引用到类级对象?
使用DialogFragment,它们都得到了处理。 而且你得到了所有生命周期的回调。 然后你可以为对话框提供更多的智能,让它自己做一些聪明的工作,而不是活动告诉它该做什么。"
来源:KoreanDude | StackOverflow的