Android:以编程方式添加无线电组时出错

时间:2012-08-05 10:52:12

标签: android android-layout radio-button radio-group

我有一个错误,我不明白这是什么意思。我是Android新手

Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

我正在尝试以编程方式将广播组添加到表格布局

首先我将无线电组添加到表格布局中,然后将单选按钮添加到电台组

RadioGroup mRadioGroup;
mRadioGroup = new RadioGroup(this);
TableLayout mainTable = (TableLayout) findViewById(R.id.myTable);
mainTable.addView(mRadioGroup);

然后我创建一行并将广播组添加到此行,最后将该行添加到表格布局

TableRow row;
RadioButton radioButton = new RadioButton(this);
radioButton.setId(1);
radioButton.setText("SomeText");
row.addView(mRadioGroup);

mainTable.addView(row);

任何人都可以帮忙吗?

编辑:当我直接在表格布局上添加无线电组而不是在表格行

时,它起作用了

1 个答案:

答案 0 :(得分:1)

您的问题是您要向mRadioGroupmainTable添加row

mainTable.addView(mRadioGroup);
...
row.addView(mRadioGroup);

正如您部分发现的那样,删除这些行中的任何一行并且它会起作用。

} {}} {}}

}或不是。

此外,您从未实际初始化View - 请务必执行

TableRow

使用之前!