2012-01-19 72 views
1

有誰知道是否可以在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

向平板電腦行添加新視圖時,每個視圖都會變成新的「列」。

所以,如果你做這樣的事情(假設你的行數據是在列表rowData和列數據是在rowData列表。

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

,這將導致在一個表中,多列, 。所有內

單個表對於佈局PARAMS,可以使用:

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

,這意味着這是0的寬度,換行高度的內容,則相對「權重」的寬度。 Android會用這個很好地佈局你的列。

+0

感謝隊友,工作出色! –