我正在开发一个Android应用程序。 One Activity有一个像这样的TableLayout:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ereportfillscroller"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/EReportTableLayout"
android:layout_margin="10dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="*"
android:stretchColumns="*">
<TableRow>
<TextView
android:id="@+id/txtGenInfo"
android:layout_span="8"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/layout_title_general_information"
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>
<TableRow>
<TextView
android:id="@+id/txtPONo"
android:layout_weight=".125"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:text="@string/layout_po_no"
android:textAppearance="?android:attr/textAppearanceMedium" />
</TableRow>
<!-- MORE ROWS -->
</TableLayout>
<Button
android:id="@+id/btnPhoto"
android:onClick="onTakeAPhotoClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Take a photo" />
</LinearLayout>
</ScrollView>
例如,我需要在第一行和第二行之间以编程方式插入另一个TableRow。我该怎么做=
答案 0 :(得分:0)
你可以这样做:
TableLayout tl = (TableLayout) findViewById(R.id.EReportTableLayout);
tl.addView(tableRowToInsert, index);
答案 1 :(得分:0)
可以尝试addView(View child,int index)
TableLayout tl = (TableLayout)findViewById(R.id.EReportTableLayout);
/* Create a new row to be added. */
TableRow tr = new TableRow(this);
tr.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
/* Create a Button to be the row-content. */
TextView textView = new TextView(this);
textView .setText("txt");
textView .setID(R.id.txtPONo_2);
textView .setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
tr.addView(textView );
/* Add row to TableLayout. */
tl.addView (tr, index);