【问题标题】:How do I access enum values in Kotlin如何在 Kotlin 中访问枚举值
【发布时间】:2019-05-27 14:28:29
【问题描述】:

我正在尝试遍历枚举,但我无法访问它们设置的任何值。 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 错误。非常感谢任何帮助,谢谢!

【问题讨论】:

    标签: android kotlin enums


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多