片段没有活动

Shu*_*ham 19 android android-fragments

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

wes*_*ton 15

是的,你可以在任何地方这样做:

new YourFragment();
Run Code Online (Sandbox Code Playgroud)

片段必须具有无参数构造函数.

然而,它的生命周期在连接之前不会启动.所以onAttach,onCreate,onCreateView等相连接后,只能调用.因此,大多数碎片在连接之前都不会做任何事

  • 有人问我服务是否可以有片段.我说是的,他很惊讶.但是应该记住,一个人可以拥有Fragment并调用它的任何方法,但正如@weston所提到的,它的生命周期在附加到Activity之前不会启动.另外,需要FragmentManager的实例来管理它们(这只能在Activity中实现). (2认同)

Kar*_*uri 9

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


小智 6

一个 Fragment 可以独立存在,但是为了显示它,你需要一个 Activity 的帮助。Activity 将充当 Fragment(s) 的容器。