如何在tablelayout中dynamic创build列?

我想了解如何dynamic添加列和行到tablelayout。

我有这个简单的例子。 但是,它只显示运行时的第一列。

有人能告诉我什么是缺less的,以显示四列,而不是一个?

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

Solutions Collecting From Web of "如何在tablelayout中dynamic创build列?"

您需要为每个列文本设置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) );