gpt4 book ai didi

android - 使用 kotlin 的 Android 应用程序中的静态类方法

转载 作者:行者123 更新时间:2023-11-29 17:05:46 26 4
gpt4 key购买 nike

我正在尝试在 kotlin 中向我的 MyApplication 类添加一个“静态”方法我添加了(作为属性)变量:

private var context: Context? = null

在方法中:

override fun onCreate()

我补充说:

context = applicationContext

然后我像这样添加一个伴生对象

companion object {
@JvmStatic fun getMyApplicationContext(): Context?
{
return MyApplication().context
}
}

当我从应用程序的其他部分调用此方法时,例如MyApplication.getMyApplicationContext() 它总是返回 null。我从多个来源收集了所有这些信息,但我不确定它是否接近正确。

最佳答案

听起来您想要一个全局应用程序上下文对象。现在抛开我对全局变量的厌恶,我认为你非常接近。

我认为您只需将变量添加到 MyApplication 类伴随对象中并直接使用它。如果您要从 Java 访问该字段,则只需要 @JvmField 注释。

class MyApplication {
companion object {
@JvmField
var context: Context? = null

// Not really needed since we can access the variable directly.
@JvmStatic fun getMyApplicationContext(): Context? {
return context
}
}

override fun onCreate() {
...
MyApplication.context = appContext
}
}

关于android - 使用 kotlin 的 Android 应用程序中的静态类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41797955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com