行无法使用代码动态添加到 Android 中的 Table 布局

Row cannot add dynamically using code to Table Layout in Android

我只想在 运行 时间添加新行,我尝试使用以下代码..

java 文件 ::>

TableLayout caseTable = (TableLayout) findViewById(R.id.caseTable);
TableRow caseRow = new TableRow(this);
caseRow.setOrientation(TableRow.VERTICAL);
EditText name = new EditText(this);
name.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT));
name.setText("Name __");
caseRow.addView(name);
caseTable.addView(caseRow,new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT));

xml 文件 ::>

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:id="@+id/caseTable"
    android:stretchColumns="0,1,2,3">
    <TableRow>
        <TextView android:text="Case" />
        <TextView android:text="Details" />
    </TableRow>
</TableLayout>

我想在现有行下方添加新行。我从这里 Whosebug 获取代码。但它没有用。谢谢。

只需简单地使用下面的代码以编程方式添加 TableRow,以前它不起作用,因为您正在尝试将 TableLayout 参数添加到您的 EditText。

        TableLayout caseTable = (TableLayout) findViewById(R.id.caseTable);
        TableRow caseRow = new TableRow(this);
        caseRow.setOrientation(TableRow.VERTICAL);
        EditText name = new EditText(this);
        //name.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT));
        name.setText("Name __");
        caseRow.addView(name);
        caseTable.addView(caseRow,new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT));