1

テーブル レイアウトがあり、動的にテーブルに行を追加したいと考えています。テーブルの列数も実行時に決定され、指定されたセルの各セルにテキストビューを配置したいと考えています。たとえば、3 つの行があり、各行に 15 の列があり、実行時に決定されるインデックスの各列にテキスト ビューを配置したい場合などです。どうやってやるの。私がこのようにしようとすると

table_row.addView(textview, index, params);

バインドされた例外のインデックスアウトが発生します。どうやってやるの。あらゆる種類の助けをいただければ幸いです。

よろしくお願いします。

4

1 に答える 1

0

行ごとにループを使用してから、テキストビューを行に追加する必要があります。

これを行う簡単な方法の 1 つは、

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

    }

私はこれを試したことはありませんが、うまくいくことを願っています。

于 2013-01-23T11:42:52.627 に答える