0

为了在任何地方使用应用程序上下文,我使用以下代码:

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 方法的开头写什么,以确保实例变量已初始化?

4

0 回答 0