int daysCounter = 0;
for(int j=0; j<5; j++) {
TableLayout tableLayout = (TableLayout)findViewById(R.id.tl);
TableRow tableRow = new TableRow(AttendanceActivity.this);
TableRow.LayoutParams layoutParams = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT);
tableRow.setLayoutParams(layoutParams);
//days variable contains the no. of days in that month
for (int i=0; i<7 && daysCounter<days; i++) {
TextView textView1 = new TextView(AttendanceActivity.this);
textView1.setText("" + (daysCounter+1));
tableRow.addView(textView1, 0);
//setColor() method sets color according to values
//arr is an array of attendance values
switch (setColor(arr[daysCounter])) {
case "red":
textView1.setBackgroundColor(getResources().getColor(R.color.red));
break;
case "green":
textView1.setBackgroundColor(getResources().getColor(R.color.green));
break;
default:
textView1.setBackgroundColor(getResources().getColor(R.color.white));
break;
}
daysCounter++;
}
tableLayout.addView(tableRow);
}
正如在代码中看到的,循环非常简单。 我不明白为什么数字是反向打印的,以及如何修复它们。 请帮帮我。 花了很长时间在这上面。
添加到tableRow
时,需要更改item的索引。
替换代码
tableRow.addView(textView1, 0);
至
tableRow.addView(textView1, i);
我已经在样例应用程序中检查了这一点,它是工作的。 让我知道它是否有效。 谢谢