【发布时间】:2014-11-15 03:39:37
【问题描述】:
我已阅读有关以编程方式创建 TableLayout/ListView 的各种帖子,但我仍然不确定最佳途径。
在我看来,我有一门课程叫RunTests.java。一个测试计划可以包含多种测试类型,并且对于每种测试类型都需要一个结果表。所以假设有四个测试,分别命名为 A、B、C 和 D。
测试 A 完成后,理想情况下,我希望调用另一个类 (ProcessTable.java) 并将测试结果数组、测试列标题数组和测试行标题数组传递给它。然后该类将返回一个包含结果和标题的表格,并对其进行膨胀,使其在 XML LinearLayout 中可见,然后继续测试 B。
然后该过程将重复,下一个表格将出现在第一个表格下方,依此类推。
任何建议或示例都会很棒。
谢谢
尝试建议的答案:
我在 listView 上遇到错误,我不确定我在哪里定义它。我添加为现有布局的 XML 如下:
private void createTable() {
String[] columns = {"row_header", "column_name1", "column_name2"};
String[] results = {"","2000","98"};
int[] to = { R.id.row_header, R.id.txt1 ,R.id.txt2};
String[] rowHeadings = {"","Bandwidth","QoS"};
List<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
for(int i = 0; i < rowHeadings.length; i++){
HashMap<String, String> map = new HashMap<String, String>();
map.put(columns[0], rowHeadings[i].toString());
map.put(columns[1], results[1]);
map.put(columns[2], results[2]);
data .add(map);
}
SimpleAdapter adapter = new SimpleAdapter(getBaseContext(), data, R.layout.runtests, columns, to);
listView.setAdapter(adapter);
}
XML:
<LinearLayout android:id="@+id/resultsLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center|top"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:background="@drawable/curvedbg"
android:layout_marginTop="10dp"
android:padding="5dp"
android:weightSum="99">
<TextView android:id="@+id/row_header" android:layout_weight="33" />
<TextView android:id="@+id/txt1" android:layout_weight="33"/>
<TextView android:id="@+id/txt2" android:layout_weight="33"/>
</LinearLayout>
【问题讨论】:
标签: java android android-listview android-tablelayout android-inflate