为了在任何地方使用应用程序上下文,我使用以下代码:
class App : Application() {
companion object {
lateinit var instance: App private set
fun isInstanceInitialized() = ::instance.isInitialized
}
override fun onCreate() {
super.onCreate()
instance = this
}
}
但有时它会引发错误。
kotlin.UninitializedPropertyAccessException: lateinit property instance has not been initialized
正如这里所建议的,设置延迟(在调用 App.instance 之前)会有所帮助,但我想调用一些东西而不必等待设置的延迟。除此之外,isInstanceInitialzed 方法总是返回 false..
我可以在 MainActivity 的 onCreate 方法的开头写什么,以确保实例变量已初始化?