创建一个DialogFragment - 使用onCreateDialog()还是onCreateView()?

6

我想创建一个带有登录按钮的主屏幕,当点击该按钮时,会弹出一个对话框以输入密码,然后选择提交或取消。

我了解到有两种方法可以实现此目的,即通过onCreateDialog()onCreateView()来创建DialogFragment

这两个选项有什么区别,哪个在哪些情况下使用?


1个回答

5
onCreateDialog()方法用于显示基本对话框,这是显示对话框的最简单方法。在使用此方法时,您需要使用内置对话框(如AlertDialog)的builder方法构建对话框和确定和取消按钮的监听器,并返回一个Dialog。
另一方面,onCreateView()方法可以返回一个视图作为对话框。您可以使用自己的布局来构建对话框用户界面,并编写自己的按钮并监听它们。简而言之,您可以创建自定义对话框。
还要注意:您甚至可以通过调用setView()方法将视图设置为内置对话框(如AlertDialog)中的视图。 onCreateView()方法用于根据自己的布局构建对话框。您应该使用哪个版本完全取决于您。希望这能帮到您。

谢谢!这非常有帮助。 - quartz
根据使用的方法,列表性能可能存在一些问题:http://stackoverflow.com/questions/41515730/dialogfragment-recyclerview-swap-animation-lags-depending-on-the-method-used-t - AppiDevo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接