android - Kotlin 在全局类中设置全局变量

标签 android kotlin

我是 Kotlin 的新手。
我需要一个我无法理解 java 和 kotlin 的帮助。

对于 Java,我做到了。但是对于 kotlin 我不能
事情是,
我创建了一个 Global kotlin 类
公共(public)类全局:应用程序()

在 MainFest 我宣布
android:name=".Global"

在全局类中我声明了一个变量:

public class Global : Application() {
    open var homeAPIResponse: String = "defaultValue"
}

当我将此全局变量设置为任何值时,它不会保存,并且当我获取该值时,它总是显示默认值。我无法理解 kotlin 中的 java 类型 getter 和 setter 方法。请帮我。

我试过了:
global = Global()
global.homeAPIResponse  = "2nd Text"

Log.d("testingTag", "Testing modified response >>>> " + global.homeAPIResponse)

在日志中它总是显示默认值。

==================================================== ========================
伙计们,我的目的是在全局范围内保存一些值(value),在将一项 Activity 转移到另一项 Activity 后,该值(value)不会消失。

请帮助我正确描述示例,因为我在堆栈溢出方面进行了很多搜索。并且无法得到它。

提前致谢

最佳答案

也许试试这样:

public class Global : Application() {
    companion object {
        @JvmField
        var homeAPIResponse: String = "defaultValue"
    }
}

在其他 Activity 中:
Global.homeAPIResponse = "new value"

关于android - Kotlin 在全局类中设置全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61260606/

相关文章:

android - JNI_OnLoad 在 android libmono.so 中失败

Kotlin 对象作为 spigot 的注入(inject)点

kotlin - 如何从kotlin中的函数返回值

android - 删除项目并添加新项目后出现错误 : Maximum number of items supported by BottomNavigationView is 5,

android - 按主页按钮时出现 NotSerializableException

java - 简单的 while 循环不起作用

javascript - 使用嵌入式 HTML 代码加载 WebView - Android

android - Adreno 220 GLSL 漏洞

java - 如何逐步提高Android的声音播放速度?

collections - 如何在 Kotlin 中无限重复序列?