Ваш код не работает, потому что setText
заменяет содержимое, поэтому новая строка, добавленная setText(gridPattern + "\n")
, отбрасывается при добавлении следующего значения.
Вы никогда не вставляете \n
в самом значении gridPattern
.
Код должен быть:
String gridPattern = "";
for (int i = 1; i <= 100; i++) {
gridPattern = gridPattern + " " + Integer.toString(i);
if (i % 10 == 0) {
gridPattern = gridPattern + "\n";
}
}
textLabel.setText(gridPattern);
Еще лучше, если вы узнали о StringBuilder
:
StringBuilder buf = new StringBuilder();
for (int i = 1; i <= 100; i++) {
buf.append(' ').append(i);
if (i % 10 == 0) {
buf.append('\n');
}
}
textLabel.setText(buf.toString());
Как упоминалось во многих комментариях, для форматирования текста он должен быть HTML, поэтому должен начинаться с <html>
, заканчиваться </html>
, а строки должны разделяться "<br>"
.
StringBuilder buf = new StringBuilder();
buf.append("<html>");
for (int i = 1; i <= 100; i++) {
buf.append(i).append(i % 10 == 0 ? "<br>" : " ");
}
buf.append("</html>");
textLabel.setText(buf.toString());