3

那么在片段中启动视图的最佳位置在哪里?我们知道我们应该只在内部膨胀布局onCreate()而不是启动视图,比如设置监听器。

您应该在 onCreateView 中扩展您的布局,但不应该在 onCreateView 中使用 findViewById 初始化其他视图。

我们知道它onViewCreated()是在之后立即调用onCreateView()的,基本上视图是膨胀的,一切都准备好了。但问题是onViewCreated每次你转到另一个页面并返回时都会调用它!因此,如果您在此处启动视图,例如添加一些侦听器,因为onViewCreated被多次调用,您最终会多次启动视图。

所以我的问题是:

  • 我理解onCreateView()onViewCreated正确吗?
  • 用于启动视图是否正确onActivityCreated,因为它只被调用一次并且在之后被调用onCreateView()
4

1 回答 1

3

你应该给你的Viewin充气onCreateView()

然后你应该设置你的Viewin onViewCreated()。不过,很多人只是在充气后才建立View起来onCreateView()

如果该函数被多次调用,则其Fragment本身已被破坏并需要重建。

于 2018-11-07T16:07:02.443 回答