Как изменить текст ячейки в 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() - Создал просто для проверки, всё работает. }
Чтобы изменить текст элемента в ячейке 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 на координаты этой ячейки при нажатии на неё.
Чтобы изменить текст элемента в ячейке 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 на координаты этой ячейки при нажатии на неё.