私のアプリは 2D グリッドでデータを表示する必要があります。グリッドには複数の行と列 (10 x 10 または 100 x 44) を含めることができます。また、グリッドには列と行の名前を表示する必要があります。
基本的に、Windows フォームと WPF の DataGridView のようなものが必要です。
助けてください。ありがとうございました。
を使用して、追加する列に対応する数の をTableLayout
動的に追加する必要があります。グリッドの外観を作成するには、セルを作成するために白い線でそれぞれの背景ドローアブルとしてシェイプ ドローアブルを追加する必要があります。TableRow
TextView
TextView
サンプル: layout.xml 内:
...
<TableLayout id="grid" *other properties*/>
...
必要なすべてのプロパティを持つ単純なオブジェクト Data:
class Data {
ArrayList<Row> rows;
ArrayList<Column> column;
//or some other properties you might need
}
でActivity
:
private void fillGrid(Data dat,) {
for(int i=0; i<dat.getRows().size(); i++) {
TableRow row = new TableRow(this);
//set row
for(int j=0; j<dat.getColumns().size(); j++) {
TextView actualData = new TextView(this);
//set properties
row.addView(actualData);
}
tableLayout.addView(row);
}
}
行と列の数が決まっていて、その数が大きくない場合、TableLayoutで問題ない場合は、ループ内または少し遅れて部分的に作成してください。それ以外の場合 (必要な行数/列数が明確でない場合、または特定のスクロールが必要な場合)、カスタム コントロールが必要になります。
リストビューを作成してそこにデータを追加することをお勧めします。
これは、別の質問への回答の一例 です データの配列をテーブルに入力する