androidでTableLayoutのData Bindingを実装の方法
AndroidのTableLayoutはテーブルデータを表示するレイアウトコンテナです。データバインディングは次の手順で実現できます。
- 行と列を定義してTableLayoutレイアウトファイルを作成する。例えば、次のような2列の表レイアウトを作成する。
<TableLayout
android:id="@+id/tableLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Column 1" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Column 2" />
</TableRow>
</TableLayout>
- JavaのコードでTableLayoutを見つけて、そこにデータをバインドします。テーブルのデータを表すには、Listまたは配列を使用できます。例えば、表示するデータを含むdataListというListがあるとします。
TableLayout tableLayout = findViewById(R.id.tableLayout);
for (Data data : dataList) {
TableRow row = new TableRow(this);
TextView textView1 = new TextView(this);
textView1.setText(data.getColumn1());
TextView textView2 = new TextView(this);
textView2.setText(data.getColumn2());
row.addView(textView1);
row.addView(textView2);
tableLayout.addView(row);
}
このようにしてテーブルレイアウトにデータをバインドし、各データ項目に新しいテーブル行を作成し、対応するデータをTextViewに充填し、その行をテーブルレイアウトに追加できます。
なお、上記のコードは簡単なサンプルコードであり、実際の利用時にはデータの型やレイアウトの複雑さによって適宜調整が必要となる点にご注意ください。