片段没有活动

时间:2014-05-19 06:48:02

标签: android android-fragments

我被问到一个面试问题:片段是否可以在没有活动的情况下存在?我搜索了答案,但没有得到正确的答案和解释。有人可以帮忙吗?

7 个答案:

答案 0 :(得分:14)

是的,您可以在任何地方执行此操作:

new YourFragment();

由于片段必须具有无参数构造函数。

然而,它lifecycle在附加之前不会启动。因此onAttachonCreateonCreateView等仅在附加时才会被调用。因此,大多数碎片在连接之前都不会做任何事情。

答案 1 :(得分:8)

它可以作为内存中的对象存在(通过使用new创建它),但它需要附加到Activity才能显示在屏幕上,假设它有任何UI(片段不必须有UI)。

答案 2 :(得分:3)

片段可以独立存在,但为了显示它,您需要一个Activity的帮助。活动将像Fragment(s)的容器一样。

答案 3 :(得分:3)

fragment不需要成为Activity layout的一部分;您也可以使用fragment而不使用UI作为Activity的隐身工作人员,但需要将其附加到Activity才能显示在屏幕上。

答案 4 :(得分:2)

Android应用必须具有处理片段的Activity或FragmentActivity。

无法在没有Activity或FragmentActivity的情况下启动片段。

答案 5 :(得分:0)

只要您创建了Fragment类的实例,它就会存在,但是为了使它显示在UI上,您必须将该片段附加到活动,因为片段的生命周期与活动并行运行#39;生命周期。如果没有调用Activity的onCreate(),就不会调用片段的onAttach(),onCreate(),onCreateView()和onActivityCreated(),因此无法启动它。

答案 6 :(得分:0)

我读到了最高评分的答案,我没有不同意,但是android已经提供了独立的片段,而没有DialogFragment活动,该活动扩展了fragment。如果要全屏显示,请先扩展DialogFragment,然后

nginx
相关问题