android - 我如何访问 Kotlin 中的枚举值

标签 android kotlin enums

我正在尝试遍历一个枚举,但我无法访问它们设置的任何值。 Android Studio 只能看到名称和序号,除此之外什么都看不到。

我不确定这是否是 android studio 的问题,因为其他关于 kotlin 枚举的在线教程似乎可以做我所做的并且工作得很好。

    enum class TimeStamps(value : Long, text : String) {
        Hour(0, "Past Hour"),
        Day(3600000, "Today"),
        Yesterday(86400000, "Yesterday"),
        Week(172800000, "This week"),
        LastWeek(604800000, "Last week"),
        LastMonth(1209600000, "Last month"),
        LastYear(2628000000, "Last year"),
        LongTime(31540000000, "A long time ago")
    }


TimeStamps.LastMonth.value
TimeStamps.LastMonth.text  //Both of these are said to be undefined by Android Studio

enumValues<TimeStamps>().forEach {

            it.value //Also undefined
}

我不太确定发生了什么。我收到的唯一错误消息是 Unresolved Reference 错误。非常感谢任何帮助,谢谢!

最佳答案

如果你想让它成为一个属性,你需要使用val:

enum class TimeStamps(val value: Long, val text: String) {
    ...
}

关于android - 我如何访问 Kotlin 中的枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56327999/

相关文章:

android - 错误 : configuration 'implementation' to configuration 'internalRelease' is not declared in the descriptor for project

java - 如何修复底部按钮上的软键盘重叠?

抽象类中的java枚举

c# - 对值在数据库中存储为 int 的枚举列进行排序

java - Fading ActionBar Lib 的自定义布局

javascript - 电话间隙 : Back button not working

java - Android游戏引擎设计: how to synchronize game loop and canvas updating thread?

rx-java - Kotlin RxJava 可空的错误

kotlin - 如何将 SpringBootTest 的本地端口转发到测试配置

java - 如果枚举是隐式静态的,为什么它们能够在内部使用 "this"关键字?