如何在 Kotlin 中访问枚举值

chr*_*tel 1 enums android kotlin

我正在尝试迭代一个枚举,但我无法访问它们设置的任何值。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
}
Run Code Online (Sandbox Code Playgroud)

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

The*_*tor 6

val如果您希望它成为属性,则需要使用:

enum class TimeStamps(val value: Long, val text: String) {
    ...
}
Run Code Online (Sandbox Code Playgroud)