Android 在两个TableRow之间插入一个或多个新TableRow

Android 在两个TableRow之间插入一个或多个新TableRow,android,layout,tablelayout,Android,Layout,Tablelayout,我正在开发一个Android应用程序。一个活动的表格布局如下所示: <?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:layo

我正在开发一个Android应用程序。一个活动的表格布局如下所示:

<?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。我怎么做=

你可以这样做:

TableLayout tl = (TableLayout) findViewById(R.id.EReportTableLayout);
tl.addView(tableRowToInsert, index);

您可以这样做:

TableLayout tl = (TableLayout) findViewById(R.id.EReportTableLayout);
tl.addView(tableRowToInsert, index);

可以尝试添加视图子项、int索引

 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);

可以尝试添加视图子项、int索引

 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);

这将向表中添加行,但最后一行不在我要插入的行之间。这将向表中添加行,但最后一行不在我要插入的行之间。