1

有谁知道是否可以在 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. ?? ));
4

1 回答 1

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 会很好地布局你的列。

于 2012-01-19T17:36:31.457 回答