我需要在我的 MainActivity 的 attachBaseContext 中访问我的 SharedPreferences 实例(dataHandler),所以我在那里设置了语言环境,但是 dataHandler 实例在那里不可用,因为注入发生在 onCreate 方法中,该方法在 attachBaseContext 调用之后运行。 dataHandler始终为空。我正在使用 kodein、android studio、kotlin。
class MainActivity : AppCompatActivity(), KodeinAware {
override val kodein by kodein()
private val dataHandler: DataHandler by instance()
override fun attachBaseContext(newBase: Context?) {
val appLanguage = dataHandler.getLanguage()
super.attachBaseContext(MyContextWrapper.wrap(newBase,appLanguage ))
}
}