テーブルに行を追加

広告

「TableLayout」クラスのオブジェクトに「TableRow」クラスのオブジェクトを追加する方法を確認します。「TableLayout」クラスの親クラスである「ViewGroup」クラスで用意されている「addView」メソッドを使います。

Adds a child view with the specified layout parameters.

Parameters:
  child  the child view to add
  params  the layout parameters to set on the child

1番目の引数には追加したい子のビュー、2番目の引数には子ビューの表示レイアウトを表すLayoutParamsクラスのオブジェクト(android.widget.TableLayout.LayoutParamsのオブジェクト)を指定します。

TableLayout.LayoutParamsクラス

「TableRow」クラスのオブジェクトを「TableLayout」クラスのオブジェクトに追加する場合にはレイアウトパラメーターを指定する必要があります。

「android.widget.TableLayout.LayoutParams」クラスは「android.view.ViewGroup.LayoutParams」クラスのサブクラスです。コンストラクタの1つのは次のようになっています。

LayoutParams
public TableLayout.LayoutParams(int w, int h)

1番目の引数に幅を、2番目の引数に高さを指定します。指定方法はピクセル単位で指定するか「ViewGroup.LayoutParams.FILL_PARENT」又は「ViewGroup.LayoutParams.WRAP_CONTENT」を指定することが出来ます。推奨値として水平方向は「FILL_PARENT」、垂直方向は「WRAP_CONTENT」となっています。

具体的には次のように記述します。

private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT; 
private final int FP = ViewGroup.LayoutParams.FILL_PARENT; 

@Override public void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    TableLayout tableLayout = new TableLayout(this);
    setContentView(tableLayout);

    TableRow tableRow = new TableRow(this);
    tableLayout.addView(tableRow, new TableLayout.LayoutParams(FP, WC));
}

ここまででテーブルを作成し行を追加するところまでは確認できました。次のページにて行に列であるビューを追加する方法を確認していきます。

( Written by Tatsuo Ikura )