我的應用必須在2D網格中顯示數據。網格可以有多個行和列(10乘10或100乘44)。網格必須顯示列和行的名稱。如何爲Android創建數據網格?
基本上我想從Windows窗體和WPF的DataGridView的東西。
請提供幫助。謝謝。
我的應用必須在2D網格中顯示數據。網格可以有多個行和列(10乘10或100乘44)。網格必須顯示列和行的名稱。如何爲Android創建數據網格?
基本上我想從Windows窗體和WPF的DataGridView的東西。
請提供幫助。謝謝。
如果您有一些確定的行數和列數,並且該數字不是很大,那麼當您可能對TableLayout確定時,只需在循環中或部分延遲地創建它即可。 否則(如果需要的行數/列數不清或您需要某些特定的滾動)將需要自定義控件。
您應該使用TableLayout
,動態地添加TableRow
與儘可能多的TextView
s對應於您希望添加的列。爲了使網格看起來,你應該添加一個可繪製的形狀作爲每個TextView
的背景可繪製白色線條以獲得單元格。
樣品: 在layout.xml:
...
<TableLayout id="grid" *other properties*/>
...
具有所有必要的屬性的簡單對象數據:
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);
}
}
我會建議創建一個列表視圖並在其中添加數據。
這裏是在回答另一個問題 Populating a table with an array of data
下面一個例子是原生的Android DataGrid組件,它非常類似於Windows窗體DataGridView,並提供了其大部分功能。 androidjetpack.com/Home/AndroidDataGrid – 2014-08-24 03:17:55