何时在Android组件生命周期中调用Dagger 2注入

时间:2017-10-24 08:03:25

标签: android android-fragments android-activity dagger-2 dagger

which methods的android组件生命周期中我应该call dagger 2 inject吗?例如,我有:

  • 活动(A),
  • 活动嵌套片段(B),
  • 片段嵌套片段(C)。

在C中我使用父组件(B组件),在B中我也使用父组件(A组件)。因此,应按上述顺序创建这些组件。

我目前的解决方案是:

  • 的onCreate,
  • onViewCreated,
  • onViewCreated;

但是它不正确,因为每次从后面的堆栈弹出片段时都会调用onViewCreated。

当我通过打开“不保持活动”模式调用片段onCreate片段时,片段嵌套片段onCreate方法在活动嵌套片段onCreate之前调用,因此它也不起作用。

1 个答案:

答案 0 :(得分:2)

正确答案是在onCreate方法中调用dagger 2注入,但在调用super.onCreate(bundle);之前调用,因为在该调用中创建了所有嵌套片段。它在活动和活动嵌套片段中都是必需的,对片段嵌套片段无动于衷。