因此,对于我的代码,我正在尝试用数据库中的数据填充时间表。对我来说,最好的方法是创建一个空白时间表,然后再填写。我确切地知道我需要多少行,所以我使用了一个 TableRows 数组,然后向每一行添加了一定数量的 TextView。
但是,每次运行后它都会崩溃。我认为这可能与没有上下文的表有关?这是所有相关代码,如果有人可以帮助我,我将不胜感激。
public class Timetable123 extends Activity {
TableRow[] row= new TableRow[36]; //declared at start
InitializeTable(SortedDatesList.toArray(new String[SortedDatesList.size()])); // List converted to array sent to initializeTable
}
private void InitializeTable(String...params){
for(int i=0;i<36;i++) {
row[i].setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
try {
for (Integer j = 0; j < (params.length+1); j++) {
TextView tv = new TextView(this);
tv.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT,
TableRow.LayoutParams.WRAP_CONTENT));
tv.setBackgroundResource(R.drawable.cell_shape);
tv.setPadding(5, 5, 5, 5);
row[i].addView(tv);
System.out.println(params[i] + " run " + i);
}
} catch (Exception ex) {
System.out.println(ex);
}
}
}
调用 initializeTable 时它总是崩溃,我真的不知道为什么。