Я занимаюсь разработкой приложения, которое должно создать в общей сложности 15 TableRows в 3 различных TableLayouts. Каждая таблица будет иметь 2 столбца и 5 строк в каждом. У меня есть массив TableLayouts с тремя индексами. Массив является общедоступным статическим, и различные TableLayouts определены в методе onCreate. Ниже мой код. Сначала я создаю экземпляры TableRow для всех индексов в массиве TableRow []. Затем мы создаем еще один массив типа TextView, который я заполняю 30 экземплярами TextView. Затем я начинаю устанавливать значения текстовых представлений с большим циклом for.
Моя проблема в том, что цикл только возвращается к l = 10. Значение i никогда не превышает 0. Это только дает мне принудительное завершение, прежде чем я собираюсь увеличиваться. Что я делаю не так?
public static void setLayout(Context context)
{
TableRow[] rows = new TableRow[15];;
for(int i=0;i<5;i++)
{
rows[i] = new TableRow(context);
rows[i].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
rows[i].setId(i);
}
TextView[] tmp = new TextView[30];
for(int t = 0; t < 30; t++)
{
tmp[t] = new TextView(context);
tmp[t].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
tmp[t].setId(t);
}
int p = 0, l = 0;
for(int i=0;i<3;i++)
{
for(int j=0;j<5;j++)
{
for(int k=0;k<2;k++)
{
tmp[p].setText(scores[i][j][k]);
tmp[p].setLayoutParams(new TableRow.LayoutParams(k));
rows[l].addView(tmp[p]);
p++;
}
tables[i].addView(rows[l]);
l++;
}
}
}