繁体   English   中英

有关在android中使用对话框的问题?

[英]Questions about using Dialogs in android?

我会直截了当。 Dialog把我弄糊涂了。 为什么? 因为似乎有5种不同的方法来实例化它们,为它们提供自定义布局并使用它们。 为了侮辱伤害他们的文件非常糟糕。 因此,我将在这里发布主要问题,希望大家能为我消除一些困惑。

Question One: 
what is the Real Difference between Dialog, and DialogFragment?

Question Two:
why is it better to use onCreateView, rather than onCreateDialog? 
furthermore, Whats the difference?

Question Three:
why not just do *Dialog dialog = new Dialog();* everytime i need one,
rather than subclass DialogFragment constantly?

很抱歉,这个主题似乎不太适合社区,但是请记住,这些都是非常真实且尚未回答的问题。 在我阅读的所有教程中,从Slidenerd到Vogella到Stack的所有内容都解释了“如何”而不是“原因”,这同样重要,甚至更多。 多谢你们!

  1. 它们之间的区别在于,对话框只能显示自定义视图,而对话框本身并不意味着您可以在对话框运行时(即显示时)以编程方式与其视图/小部件进行交互。 DialogFragment扩展了Fragment,并具有Fragment的所有功能和生命周期(或用作对话框时与它们非常相似)。 DialogFragment也可以用作“常规”片段,这意味着您可以使用DialogFragment在平板电脑上显示对话框或将其置于电话的活动(即全屏)中。

  2. 如果DialogFragment也要用作Fragment,则必须通过onCreateView返回一个View,因此无论如何都必须实现onCreateView。 如果仅实现onCreateView而不实现onCreateView和onCreateDialog 则可以避免代码重复。 但是我从未听说有人说“最好使用onCreateView而不是onCreateDialog”。

  3. 大多数对话框不必继承DialogFragment的子类。 为了显示一个简单的对话框,例如。 询问用户有关显示一些信息的问题,您可以实例化一个新的Dialog()或使用DialogBu​​ilder。 我仅在Dialog内有某些逻辑要驻留在其自己的类中并利用DialogFragments生命周期时才使用DialogFragments。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM