如何在Kotlin中访问枚举值

时间:2019-05-27 14:28:30

标签: 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错误。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

如果要使其成为属性,则需要使用val

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