Kotlin - Как получить значение объекта с помощью цикла? - PullRequest
0 голосов
/ 24 октября 2018
data class StatusObject(val label: String, val value: Int)

object OrderStatus {

    val inTray = StatusObject("In tray", 0)
    val paymentPending = StatusObject("Payment Pending", 1)
    val paymentDone = StatusObject("Payment Done", 2)
    val completed = StatusObject("Completed", 3)
    val cancelled = StatusObject("Cancelled", 4)

}

fun findStatusLable(statusObject: Objects, value: Int) {
}

Я новичок в Kotlin и пытаюсь работать над небольшим приложением.Функция findStatusLable должна возвращать метку, когда предоставлено имя объекта данных и числовое значение.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 24 октября 2018

Не уверен, что вы пытаетесь достичь.Но если вы хотите получить label из StatusObject на value, чем я могу предложить использовать enum, например:

enum class OrderStatus(val label: String, val code: Int) {
    IN_TRAY("In tray", 0),
    PAYMENT_PENDING("Payment Pending", 1),
    PAYMENT_DONE("Payment Done", 2),
    COMPLETED("Completed", 3),
    CANCELLED("Cancelled", 4);

    companion object {

        fun findStatusLabel(code: Int): String {
            return values().firstOrNull { it.code == code }?.label ?: ""
        }
    }
}

И тогда вы можете сделать что-то вроде:

OrderStatus.findStatusLabel(4) // Will return Cancelled
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...