首页 > 解决方案 > TableRow 正在提供反向 TextViews

问题描述

我正在开发应用程序,我在表格的帮助下每月显示学生的出勤率。我有一系列出勤值作为'p'和'a',并应用逻辑来相应地显示颜色。我正在从 java 文件创建一个 tableRow 和 TextView 元素。像这里的图片:考勤_图片 我想将一个月的天数显示为 1,2,3,... 直到最后一天。但是图像以相反的顺序显示数字。这是我用来获取该视图的 java 代码。

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

从代码中可以看出,循环非常简单。我不明白为什么数字打印为反向以及如何修复它们。请帮忙。在这方面工作了很长时间。

标签: javaandroidandroid-tablelayout

解决方案


您需要在添加时更改项目的索引tableRow

替换代码

tableRow.addView(textView1, 0);

tableRow.addView(textView1, i);

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


推荐阅读