Отображение определенного поля из списка массивов в счетчике - PullRequest
0 голосов
/ 09 апреля 2019

Я хочу показать только одно поле в счетчике из arraylist.

Я использовал для переопределения toString в классе модели следующим образом.

data class University(
        @SerializedName("university") val university: String,
        @SerializedName("abbr") val abbr: String,
        @SerializedName("university_id") val university_id: String) {

    override fun toString(): String {
        return "$abbr - $university"
    }
}

И использовал это так в упражнении

        viewModel.getUniversities().observe(
                this,
                Observer { universities ->
                    val adapter = ArrayAdapter<University>(this, android.R.layout.simple_spinner_dropdown_item, universities)
                    universitySpinner.adapter = adapter

                    universitySpinner.onItemSelectedListener = object : OnItemSelectedListener {

                        override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) {
                            universityId = universities!![position].university_id.toString()
                        }

                        override fun onNothingSelected(arg0: AdapterView<*>) {

                        }
                    }
                }
        )

Это возвращает одну строку, как я и предполагал.

Теперь у меня похожая проблема, но теперь мой класс модели создан, поэтому я не могу переопределить toString, но я хотел бы отобразить только одно поле (Университетв)Так что же мне делать в деятельности?

1 Ответ

0 голосов
/ 10 апреля 2019

Поскольку вы используете Kotlin, вы можете использовать функцию расширения в своем классе, чтобы сохранить тот же синтаксис, что и раньше.Предположим, что ваш сгенерированный класс называется UniversityGenerated, функция расширения будет выглядеть так:

fun UniversityGenerated.toString(): String {
    return "${this.abbr} - ${this.university}"
}

с abbr и university, все еще доступными для общественности.Вы можете прочитать больше в официальной документации здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...