Это динамически создаваемая сетка 6 * 6. Я хочу получить значение текста в каждой ячейке, чтобы, когда пользователь щелкает ячейку с определенным текстом (например, животным) на доске, эта ячейка была отключена, и в этой ячейке нельзя было нажимать.
Как я могу получить текстовое значение динамически созданной ячейки в gridlayout?
Код для создания платы (acticity.kt):
fun createBoard(context: Context, board: GridLayout, size: Int, listofThings: List<String>) {
destroyBoard()
board.columnCount = size
board.rowCount = size
var iterator = 0
for(col in 1..size) {
for (row in 1..size) {
cell = RelativeLayout(context)
val cellSpecifications = { GridLayout.spec(GridLayout.UNDEFINED, GridLayout.FILL, 1f) }
val params = GridLayout.LayoutParams(cellSpecifications(), cellSpecifications())
params.width = 0
cell.layoutParams = params
cell.setBackgroundResource(R.drawable.bordered_rectangle)
cell.gravity = Gravity.CENTER
cell.setPadding(5, 0, 5, 0)
text = TextView(context)
text.text = people[iterator++]
words.add(text.text as String)
text.maxLines = 5
text.setSingleLine(false)
text.gravity = Gravity.CENTER
text.setTextColor(0xFF000000.toInt())
cell.addView(text)
board.addView(cell)
cells.add(GameCell(cell, text, false, row, col) { })
}
}
}
Код в файле Activity.xml:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.GridLayout
android:id="@+id/grid"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_weight="1"
>
</android.support.v7.widget.GridLayout>
</LinearLayout>