簡體   English   中英

行無法使用代碼向Android中的表布局動態添加

[英]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>

我想在現有行下面添加新行。 我從這里的代碼在stackOverFlow 但這沒有用。 謝謝。

只需使用下面的代碼以編程方式添加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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM