提问者:小点点

TableRow正在提供反向文本视图


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);
}

正如在代码中看到的,循环非常简单。 我不明白为什么数字是反向打印的,以及如何修复它们。 请帮帮我。 花了很长时间在这上面。


共1个答案

匿名用户

添加到tableRow时,需要更改item的索引。

替换代码

tableRow.addView(textView1, 0);

tableRow.addView(textView1, i);

我已经在样例应用程序中检查了这一点,它是工作的。 让我知道它是否有效。 谢谢