Android:以编程方式添加另一个表格行

时间:2018-10-15 21:08:38

标签: java android tablelayout

我有一个TableLayout,其中有一个Table Row。我正在尝试使用下面的函数添加另一个TableRow,其值与已经存在的表行的值相同:

tableRowOne = findViewById(R.id.tableRowOne);
editTextOne = findViewById(R.id.editTextOne);

public void AddTableRowFunction() {        

    TableRow tableRowNew = new TableRow(this);
    tableRowNew = tableRowOne;

    EditText editTextNew = new EditText(this);

    editTextNew = editTextPlayer1;

    tableRowNew.addView(editTextNew);

    table.addView(tableRowNew, 0 ,new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.MATCH_PARENT));

}

但是当我调用该函数告诉我“指定的孩子已经有一个父母。您必须首先在该孩子的父母上调用removeView()时,应用程序崩溃。”

1 个答案:

答案 0 :(得分:0)

View添加到ViewGroup时,它将保留对父级的引用。每次将相同的视图添加到表时,就会发生此问题。正因为如此:

tableRowNew = tableRowOne;

尝试删除上面的行,因为每次尝试添加tableRowNew时,您都试图添加以前添加到table的视图。