【发布时间】:2011-03-08 05:55:52
【问题描述】:
我想在 android 中创建一个包含多列的表。我看到的大多数示例都是 2 列。 (我是 Java 和 Android 的新手。)我需要 3-4 列,我应该能够在表中动态添加行。谁能给我一个示例代码。 (我在win 7中使用eclipse)
【问题讨论】:
标签: java android xml android-tablelayout
我想在 android 中创建一个包含多列的表。我看到的大多数示例都是 2 列。 (我是 Java 和 Android 的新手。)我需要 3-4 列,我应该能够在表中动态添加行。谁能给我一个示例代码。 (我在win 7中使用eclipse)
【问题讨论】:
标签: java android xml android-tablelayout
我假设您说的是 TableLayout 视图而不是数据库中的表??
如果是这样,下面是一个三列三行表的 XML 示例。
每个
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id = "@+id/RHE"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:padding="5dp">
<TableRow android:layout_height="wrap_content">
<TextView
android:id="@+id/runLabel"
android:text="R"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/hitLabel"
android:text="H"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/errorLabel"
android:text="E"
android:layout_height="wrap_content"
/>
</TableRow>
<TableRow android:layout_height="wrap_content">
<TextView
android:id="@+id/visitorRuns"
android:text="0"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/visitorHits"
android:text="0"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/visitorErrors"
android:text="0"
android:layout_height="wrap_content"
/>
</TableRow>
<TableRow android:layout_height="wrap_content">
<TextView
android:id="@+id/homeRuns"
android:text="0"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/homeHits"
android:text="0"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/homeErrors"
android:text="0"
android:layout_height="wrap_content"
/>
</TableRow>
</TableLayout>
要在代码中动态更改这些内容,您需要这样:
// reference the table layout
TableLayout tbl = (TableLayout)findViewById(R.id.RHE);
// delcare a new row
TableRow newRow = new TableRow(this);
// add views to the row
newRow.addView(new TextView(this)); // you would actually want to set properties on this before adding it
// add the row to the table layout
tbl.addView(newRow);
【讨论】: