微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何强制初始化应用程序上下文?

如何解决如何强制初始化应用程序上下文?

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

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

按照here的建议,设置延迟(在调用 App.instance 之前)会有所帮助,但我想调用某些内容而不必等待设置的延迟。除此之外,isinstanceInitialzed 方法总是返回 false..

在 MainActivity 的 onCreate 方法的开头我可以写什么,以确保实例变量被初始化?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。