在我的活动中,我有一个lateinit名为controller我的片段使用的属性。此属性在 中初始化Activity.onCreate()。myFragment将其引用返回到 my Activitythrough onAttach()。然后Fragment调用。myActivity.controller_Fragment.onCreate()
通常controller首先在 中初始化Activity.onCreate(),然后Fragment添加 。所以这很好用。
但是当 myActivity被杀死时,它会尝试重新创建自己及其碎片。这导致在初始化发生之前Fragment.onCreate()被调用。Activity.onCreate()
这些是我现在看到的选项:
controller之前初始化super.onCreate()(如果可能的话)- 将调用移至
myActivity.controller稍后的生命周期回调,如onViewCreated() ::controller.isInitializedKotlin 1.2中可用的东西
我在这里最好的选择是什么?