Rap*_*sso 61 android android-alertdialog android-dialogfragment dialogfragment
在开发Android应用程序时,我已经读过,建议使用DialogFragment而不是直接使用AlertDialog来显示警报和确认.
例如,在DialogFragment的文档中完成此操作:http://developer.android.com/reference/android/app/DialogFragment.html
人们还说他们更喜欢这个: Android DialogFragment vs Dialog
我想知道这种方法的优点,因为代码变得更加复杂.
谢谢
小智 51
这很简单.
DialogFragment是一个片段.那么片段可以提供什么,而其他对象不能?
这是生命周期的回调.
因此,使用DialogFragment,它可以非常强大,使您的代码更清晰.
如果在活动被破坏时没有关闭对话框,你有没有见过窗口泄漏?所以为了防止这种情况,你有没有试过在调用onPause()时关闭对话框?那么为了做到这一点,您是否曾经不得不将该对话框引用到类级别对象?
使用DialogFragment,它都处理完毕.
而且你得到了所有生命周期的回调.
然后,您可以为对话框提供更多智能,并使其自行完成一些智能工作,而不是活动告诉它该做什么.
Tob*_*run 50
自API级别13引入以来:
不推荐使用 Activity中的showDialog方法.不建议在代码中的其他位置调用对话框,因为您必须自己管理对话框(例如方向更改).不使用showDialog会导致偶然的异常,对话框没有链接到任何Activity.
关于showDialog的注意事项:
对话框的参考:活动提供了管理对话框的创建,保存和恢复的工具.请参阅onCreateDialog(int),onPrepareDialog(int,Dialog),showDialog(int)和dismissDialog(int).如果使用这些方法,getOwnerActivity()将返回管理此对话框的Activity.
DialogFragment和AlertDialog之间的区别
阅读问题时会想到一件事.他们有这么大的不同吗?一个DialogFragment是相当类似的对话,它只是一个包裹里面的片段.从关于DialogFragment的Android参考:
DialogFragment是一个片段,它显示一个浮动在其活动窗口顶部的对话框窗口.该片段包含一个Dialog对象,它根据片段的状态适当显示.控制对话框(决定何时显示,隐藏,关闭它)应该通过API 在这里完成,而不是直接调用对话框.
其他说明
| 归档时间: |
|
| 查看次数: |
42744 次 |
| 最近记录: |