2012-01-19 1 views
1

Кто-нибудь знает, можно ли добавлять столбцы в TableLayout в Android? Мне нужно отобразить относительно огромный объем данных в таблице. Очевидно, что это не должно отображаться в одном столбце.Столбцы таблицы в TableLayout от Android

Вы можете добавить строки, создав TableRow() - Object. Кроме того, есть некоторый какой-то xml-параметр, но я не знаю, как получить к нему доступ через Java-Code.

  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

Спасибо, парень, работает очень хорошо! –

 Смежные вопросы

  • Нет связанных вопросов^_^