在android中动态设置tablerow中的列数

时间:2013-01-23 10:38:35

标签: android android-tablelayout

我有一个表格布局,我想动态地向表中添加行。表中的列数也将在运行时决定,我希望将文本视图放在某个指定单元格的每个单元格中。就像我有三行,每行将有15列,我想在每个列中放置一个文本视图,在某个索引处将在运行时决定。我怎样才能做到这一点。当我尝试这样的时候

table_row.addView(textview, index, params);

它给了我绑定异常的索引。我怎样才能做到这一点。任何形式的帮助将不胜感激,

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

您必须为每一行使用循环,然后将textview添加到该行。

一种简单的方法是

  TableLayout tbl = (TableLayout) findViewById(R.id.table);
  TableLayout.LayoutParams tblparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

    for(int i=0; i<row_count;i++)
    {
        TableRow row = (TableRow) findViewById(R.id.tableRow2);

        TextView tv1 = new TextView(Main.this);
        TextView tv2 = new TextView(Main.this);
        //you will have to do this for all 15 columns   

        tv1.setLayoutParams(tblparams);
        tv1.setText("Col1data");
        tv2.setLayoutParams(tblparams);
        tv2.setText("Col2data");


        row.addView(tv1);
        row.addView(tv2);

    }

我没试过这个,但希望它有效。