何时在 android 组件生命周期中调用 Dagger 2 注入
When to call Dagger 2 inject in android component lifecycle
在 which methods
个 android 个组件的生命周期中,我应该 call dagger 2 inject
?例如,我有:
- activity (一),
- activity 嵌套片段 (B),
- 片段嵌套片段 (C)。
在C中我使用父组件(B组件),在B中我也使用父组件(A组件)。所以这些组件应该按上述顺序创建。
我目前的解决方案是:
- 创建时,
- onViewCreated,
- onViewCreated;
但这是不正确的,因为每次片段从返回堆栈弹出时都会调用 onViewCreated。
当我在打开 "don't keep activities" 模式的片段的 onCreate 中调用 inject 时,片段嵌套片段 onCreate 方法在 activity 嵌套片段 onCreate 之前调用,因此它也不起作用。
正确答案是在 onCreate
方法中调用 dagger 2 inject,但是 在 调用 super.onCreate(bundle);
之前,因为所有嵌套片段都是在该调用中创建的.在 activity 和 activity 嵌套片段中都是必需的,对于片段嵌套片段无关紧要。
在 which methods
个 android 个组件的生命周期中,我应该 call dagger 2 inject
?例如,我有:
- activity (一),
- activity 嵌套片段 (B),
- 片段嵌套片段 (C)。
在C中我使用父组件(B组件),在B中我也使用父组件(A组件)。所以这些组件应该按上述顺序创建。
我目前的解决方案是:
- 创建时,
- onViewCreated,
- onViewCreated;
但这是不正确的,因为每次片段从返回堆栈弹出时都会调用 onViewCreated。
当我在打开 "don't keep activities" 模式的片段的 onCreate 中调用 inject 时,片段嵌套片段 onCreate 方法在 activity 嵌套片段 onCreate 之前调用,因此它也不起作用。
正确答案是在 onCreate
方法中调用 dagger 2 inject,但是 在 调用 super.onCreate(bundle);
之前,因为所有嵌套片段都是在该调用中创建的.在 activity 和 activity 嵌套片段中都是必需的,对于片段嵌套片段无关紧要。