Я только что нашел рабочее решение.Это, вероятно, неоптимально, но это решило мой вопрос:
/*Start with first row*/
var currentRow = TableRow(context)
/*Go char by char*/
for (letter in boardStructure) {
if (letter == separator) {
/*Put row in table layout and create next row*/
table.addView(currentRow)
currentRow = TableRow(context)
} else {
/*Create element and put it in row*/
val tv = TextView(context)
tv.text = letter.toString()
tv.width = 100
tv.height = 100
currentRow.addView(tv)
}
}
/*Put final row in the table layout*/
table.addView(currentRow)
boardStructure
- это String
, загруженный из файла, содержащего 1 и 0, как описано в вопросе.separator
- это символ, который разделяет каждую строку.table
- это предопределенный TableLayout
в макете.
Просто чтобы выделить вопрос, который я задавал, вместо того, чтобы ставить представление плиток, я помещаю 1 и 0 как полученные в файле, чтобы проиллюстрировать проблему,Для продолжения разработки отсюда я бы проверил в ветке else, если letter
равно 0 или 1.