Android的TableLayout中的表列

时间:2012-01-19 17:21:21

标签: android android-tablelayout

有谁知道是否可以在Android中向TableLayout添加列?我需要在表格中显示相对大量的数据。显然,这不应该在一列中显示。

您可以通过创建TableRow() - Object来添加行。此外还有一些xml参数,但我不知道如何通过Java代码访问它。

         TextView val = new TextView(this);
         val.setText(args.get(i));
         table.addView(val);
         table.addView(tr,new TableLayout.LayoutParams(
                    LayoutParams.FILL_PARENT,
                    LayoutParams.WRAP_CONTENT));

我无法在TableRow.LayoutParams中找到适合我的匹配值。但可能我试图以错误的方式使用它。

         table.addView(val,new TableRow.LayoutParams(
                 LayoutParams. ?? ));

1 个答案:

答案 0 :(得分:1)

当您向平板电脑行添加新视图时,每个视图都会成为一个新的“列”。

所以,如果你做这样的事情(假设你的行数据在List rowData中,你的列数据在rowData中的List中。

for (RowData rd : rowData)
{
    TableRow row = new TableRow(this);
    for (DataPoint dp : rd.getDataPoints())
    {
       TextView tv = new TextView(this);
       tv.setText(dp.getText());

       /* any other styling stuff here */

       row.addView(tv);
     }
 table.addView(row);
}

这将产生一个包含多个列的表,所有这些都在一个表中。

对于布局参数,您可以使用:

new TableRow.LayoutParams(0, LayoutParams.WRAP_CONTENT, (float) 5);

这意味着0宽度,在高度上包裹内容,然后是宽度的相对“重量”。 Android会很好地布置你的列。