0

我需要在我的 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 ))
}
}
4

0 回答 0