【问题标题】:Row cannot add dynamically using code to Table Layout in Android行无法使用代码动态添加到 Android 中的表格布局
【发布时间】:2015-03-29 07:24:53
【问题描述】:

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

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>

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

【问题讨论】:

    标签: android dynamic android-tablelayout


    【解决方案1】:

    只需使用以下代码以编程方式添加 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));
    

    【讨论】:

    • 我在 stackOverflow 上得到了这个。无论如何谢谢。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多