Android TableLayout没有显示

时间:2011-11-09 01:57:57

标签: android view tablelayout visible

我有一个类,其内容设置为具有几个按钮和TableLayout的布局。

使TableLayout的实际工作在一个单独的静态助手类中,该类有一个返回所需表的方法。

但是,表格没有显示。我错过了一个令人羞辱的简单事实?

以下是将其内容设置为布局的类:

public class TesterActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        TableLayout table = (TableLayout) findViewById(R.id.table);
        table = TableHelper.getTable_BINARY_NUMBERS(getApplicationContext(), 5, 25);
    }
}

这是帮助类创建Table的肉:

public class TableHelper {

    public static TableLayout getTable_BINARY_NUMBERS(Context context, int numRows, int numCols) {

        TableLayout table = new TableLayout(context);

        table.setStretchAllColumns(true);  
        table.setShrinkAllColumns(true);  

        TableRow[] rows = new TableRow[numRows];
        for (int row=0; row<numRows; row++) {
            rows[row] = new TableRow(context);

            for (int col=0; col<numCols-1; col++) {
                TextView num = new TextView(context);
                num.setText("0");
                rows[row].addView(num);
            }
            TextView rowText = new TextView(context);
            rowText.setText("Row " + (row + 1));
            rowText.setTextAppearance(context, android.R.style.TextAppearance_Small);
            rows[row].addView(rowText);
            rows[row].setPadding(0, 50, 0, 0);
            table.addView(rows[row]);
        }
        return table;
    }
}

1 个答案:

答案 0 :(得分:1)

您的帮助程序类返回的TableLayout与您看到的TableLayout不同。

当您执行setContentView(R.layout.main);时,会创建一个TableLayout的实例,并将其分配给变量表。来自助手类的TableLayout是另一个实例。