我的应用程序必须在 2D 网格中显示数据。网格可以有多个行和列(10 x 10 或 100 x 44)。并且网格必须显示列名和行名。
基本上我想要 Windows 窗体和 WPF 中的 DataGridView 之类的东西。
请提供帮助。谢谢你。
您应该使用与您希望添加的列对应的尽可能多的 sTableLayout
动态添加。为了使网格看起来,您应该添加一个可绘制形状作为每个带有白线的背景可绘制对象,以便拥有单元格。TableRow
TextView
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);
}
}
如果您有一些确定的行数和列数并且这个数字不大,那么当您对TableLayout没问题时- 只需在循环中创建它或通过一些延迟的部分创建它。否则(如果需要的行数/列数不清楚或者您需要一些特定的滚动)将需要自定义控件。
我建议创建一个列表视图并在其中添加数据。
这是响应另一个问题的一个示例 用一组数据填充表