Как изменить текст ячейки в GridView? Вобщем есть у меня GridView c айди gridView.Просто, при нажатии на элемент текст элемента должен заменяться на его координаты.Вот код
var data = MutableList(31, {x->"$x"})
val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, data)
gridView.adapter = adapter
gridView.onItemClickListener = AdapterView.OnItemClickListener { p0, p1, p2, p3 -> val COLUM_NUM = gridView.numColumns
var selectedItem = p0?.getItemAtPosition(p2).toString()
var col :Int= (selectedItem.toInt() % COLUM_NUM)+1
var row :Int= (selectedItem.toInt() / COLUM_NUM)+1
Toast.makeText(this@MainActivity, "$row,$col", Toast.LENGTH_SHORT).show() - Создал просто для проверки, всё работает.
}

17 Июл 2020 в 19:46
150 +1
0
Ответы
1

Чтобы изменить текст элемента в ячейке GridView при нажатии на неё, вам необходимо получить доступ к View этой ячейки и изменить текст в ней. В данном случае, вам нужно получить доступ к TextView элементу внутри ячейки и установить новый текст.

Вот как можно сделать это:

gridView.onItemClickListener = AdapterView.OnItemClickListener { parent, view, position, id ->
val textView = view as TextView
val COLUM_NUM = gridView.numColumns
val selectedItem = parent.getItemAtPosition(position).toString()
val col :Int = (selectedItem.toInt() % COLUM_NUM) + 1
val row :Int = (selectedItem.toInt() / COLUM_NUM) + 1
textView.text = "$row,$col"
// Можно также показать Toast сообщение с новыми координатами
Toast.makeText(this@MainActivity, "$row,$col", Toast.LENGTH_SHORT).show()
}

Этот код будет изменять текст внутри TextView элемента в ячейке GridView на координаты этой ячейки при нажатии на неё.

18 Апр в 10:45
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир