Я пытаюсь программно изменить высоту и ширину элемента ListView, но получаю сообщение «val cannot be reassigned error», не могли бы вы сказать мне, что здесь нельзя переназначить точное значение 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 ответ
Фрагментарный ответ на ваш вопрос:
Поля height
и width
внутри imageView
являются неизменяемыми (val
):
var imageView = v!!.findViewById(R.id.game_6_item_image) as ImageView
Поскольку я не знаю и не вижу реализации класса/интерфейса ImageView
, я не могу сказать, как добиться изменения.
Похожие вопросы
Связанные вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.