java - 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);
}
从代码中可以看出,循环非常简单。我不明白为什么数字打印为反向以及如何修复它们。请帮忙。在这方面工作了很长时间。
解决方案
您需要在添加时更改项目的索引tableRow
。
替换代码
tableRow.addView(textView1, 0);
到
tableRow.addView(textView1, i);
我已经在示例应用程序中检查了这一点,它正在工作。让我知道它是否有效。谢谢
推荐阅读
- r - 为什么我的向量在积分等于或大于 12 的整数后变成一个列表?
- c# - UWP MediaPlayer 系统暂停
- html - 如何创建占据 100% 宽度的内联块元素。第二个元素有另一个元素在悬停时显示
- java - Vaadin 14 - 在嵌套布局中使用时网格不显示/填充
- django - Graphene Django File 字段获取绝对路径
- java - 蓝牙 SPP 神秘 bufferoverflow,Android / BlueGiga WT12,潜在流量控制问题?
- asterisk - 获取通话中的设备保持状态多长时间
- php - 无法从 epever 读取数据到树莓派
- javascript - li 元素的数组
- mysql - Left join where left table column = something or null