1

AndroidのTableLayoutに列を追加できるかどうか誰かが知っていますか?テーブル内に比較的大量のデータを表示する必要があります。明らかに、これはすべて1つの列に表示されるべきではありません。

TableRow()-Objectを作成することにより、行を追加できます。さらに、いくつかのxmlパラメータがありますが、Javaコードを介してアクセスする方法がわかりません。

         TextView val = new TextView(this);
         val.setText(args.get(i));
         table.addView(val);
         table.addView(tr,new TableLayout.LayoutParams(
                    LayoutParams.FILL_PARENT,
                    LayoutParams.WRAP_CONTENT));

TableRow.LayoutParamsで一致する値を見つけることができませんでした。しかし、おそらく私はそれを間違った方法で使用しようとしました。

         table.addView(val,new TableRow.LayoutParams(
                 LayoutParams. ?? ));
4

1 に答える 1

1

タブレットの行に新しいビューを追加すると、各ビューが新しい「列」になります。

したがって、次のようなことを行うと (行データが List rowData にあり、列データが rowData の List にあると仮定します。

for (RowData rd : rowData)
{
    TableRow row = new TableRow(this);
    for (DataPoint dp : rd.getDataPoints())
    {
       TextView tv = new TextView(this);
       tv.setText(dp.getText());

       /* any other styling stuff here */

       row.addView(tv);
     }
 table.addView(row);
}

これにより、複数の列を持つテーブルがすべて 1 つのテーブル内に作成されます。

レイアウト パラメータには、次を使用できます。

new TableRow.LayoutParams(0, LayoutParams.WRAP_CONTENT, (float) 5);

つまり、幅が 0 で、コンテンツが高さで折り返され、幅が相対的な「重み」になります。Android はこれで列を適切にレイアウトします。

于 2012-01-19T17:36:31.457 に答える