Как получить доступ к значениям перечисления в Kotlin - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь перебрать перечисление, но не могу получить доступ к каким-либо значениям, с которыми они были установлены.Android Studio видит только имя и порядковый номер, но не более того.

Я не уверен, является ли это проблемой для студии Android, так как другие онлайн-учебники по 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 Ответ

4 голосов
/ 27 мая 2019

Вам нужно использовать val, если вы хотите, чтобы это было свойство:

enum class TimeStamps(val value: Long, val text: String) {
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...