Динамически изменяющийся размер элемента ListView kotlin - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь программно изменить высоту и ширину элемента ListView, но получаю сообщение об ошибке «Невозможно переназначить значение val». Скажите, пожалуйста, здесь нельзя точно переназначить точное значение val, и как я могу, наконец, это сделать? установить высоту и ширину для списка мой пользовательский адаптер?

    class Game6Adapter(
    private val mContext: Context,
    private val resourceLayout: Int,
    private val items: ArrayList<Drawable>
) : ArrayAdapter<Drawable>(mContext, resourceLayout, items) {

    override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
        var v: View? = convertView

        var vi: LayoutInflater = LayoutInflater.from(mContext)
        v = vi.inflate(resourceLayout, null)


        val p = getItem(position)


        var imageView = v!!.findViewById(R.id.game_6_item_image) as ImageView
        imageView.setImageDrawable(items[position])

        var layoutParams = parent.layoutParams
        imageView.height = (parent.height * 0.1).toInt() // val cannot be reassigned
        imageView.width = (parent.height * 0.1).toInt()  val cannot be reassigned
        imageView.requestLayout()


        return v!!
    }
}

1 Ответ

0 голосов
/ 29 октября 2019

Фрагментарный ответ на ваш вопрос:

Поля height и width внутри imageView являются неизменяемыми (val):

var imageView = v!!.findViewById(R.id.game_6_item_image) as ImageView

Поскольку я незнаю и не вижу реализацию класса / интерфейса ImageView, я не могу сказать, как добиться изменения.

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