Не уверен, как получить некоторые переменные только в Parcelable объект Arraylist, используя kotlin - PullRequest
0 голосов
/ 27 апреля 2020

Я видел так много ссылок, чтобы решить эту проблему, и я просто нашел, как получить всю переменную в объекте. Это работает хорошо, но я хочу просто показать некоторые переменные в подробном макете (действие: AboutApp.kt) на основе элемента, который я щелкнул. В этом случае я не знаю, как получить только имя переменной. Я попробовал 3 способа здесь, но каждое решение всегда дает мне ошибку.

Решение 1: Ошибка это имя (неразрешенная ссылка), я не знаю, как вызвать имя переменной

        val herbalName = this.intent.getParcelableArrayListExtra<Parcelable>("extra_item")
        val line1: String = herbalName.name
        val textView1 = findViewById<TextView>(R.id.item_name)
        textView1.text = line1

Решение 2: Ошибка в getParcelableExtra

        val list = this.intent.getParcelableExtra("extra_item")
        val line1 = list.name
        val textView1 = findViewById<TextView>(R.id.item_name)
        textView1.text = line1

Решение 3: Правильно, но каждый элемент, который я щелкнул, просто отображает все данные в индексе, который я пишу (например, 0), в то же время я хочу получить некоторые только элементы / переменные и подробно отображают данные в зависимости от выбранного элемента в listView

        val listData: ArrayList<Herbal> = this.intent.extras!!.getParcelableArrayList("extra_item")!!
        val line1 = listData[0]
        val textView1 = findViewById<TextView>(R.id.item_name)
        textView1.text = line1.toString()

Я написал Parcelable в классе данных Herbal, но вот мой ArrayList в объекте HerbalData.

val listData: ArrayList<Herbal>
        get() {
            val list = arrayListOf<Herbal>()
            for (position in herbalName.indices) {
                val herbal = Herbal()
                herbal.name = herbalName[position]
                herbal.detail = herbalDetail[position]
                herbal.photo = herbalImage[position]
                list.add(herbal)
            }
            return list
        }

Я просто хочу получить имя. Я очень благодарен за любую помощь. Я потратил много раз, чтобы решить это. Большое вам спасибо.

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