如何在tablelayout中动态创建列?
问题描述:
我想了解如何动态添加列和行到tablelayout。如何在tablelayout中动态创建列?
我有这个简单的例子。但是,它只显示运行时的第一列。
有人能告诉我什么是缺少的,以显示四列而不是一个?
package com.apollo.testtablelayout;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class TestTableLayoutActivity extends Activity {
/** Called when the activity is first created. */
String col1;
String col2;
String col3;
String col4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TableLayout tl = (TableLayout) findViewById(R.id.tableLayout1);
for (int x = 1; x < 10; x++) {
col1 = "(" + x + ") Column 1";
col2 = "(" + x + ") Column 2";
col3 = "(" + x + ") Column 3";
col4 = "(" + x + ") Column 4";
TableRow newRow = new TableRow(this);
TextView column1 = new TextView(this);
TextView column2 = new TextView(this);
TextView column3 = new TextView(this);
TextView column4 = new TextView(this);
column1.setText(col1);
newRow.addView(column1);
newRow.addView(column2);
newRow.addView(column3);
newRow.addView(column4);
tl.addView(newRow, new TableLayout.LayoutParams());
}
}
}
答
你需要具备的setText对于每一列文
column1.setText(col1);
column2.setText(col2);
column3.setText(col3);
column4.setText(col4);
答
不要忘记,每列需要新TableLayout.LayoutParams()为好,这是我做了尝试错误将更复杂的视图添加到表格布局。
newRow.addView(view, new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT,
TableRow.LayoutParams.WRAP_CONTENT));