【发布时间】:2014-04-28 00:27:45
【问题描述】:
我试图将新的 TableRows 添加到 TableLayout,但我什至无法将 TextView 添加到新的 TableRow 对象。但是总是有同样的错误:
04-25 12:11:42.329: E/AndroidRuntime(26636): java.lang.IllegalStateException:指定的孩子已经有一个 父母。您必须先在孩子的父母上调用 removeView()。
这是主要代码:
public static class PlaceholderFragment extends Fragment {
protected TableLayout mTableLayout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_results,
container, false);
mTableLayout = (TableLayout) rootView
.findViewById(R.id.results_table);
fullFillTable();
return rootView;
}
private void fullFillTable() {
TextView labelPosition = new TextView(getActivity());
TableRow row = new TableRow(getActivity());
labelPosition.setText("Pos");
row.addView(labelPosition); //The error is here
mTableLayout.addView(row);
}
}
这里是fragment.xml:
<TableLayout
android:id="@+id/results_table"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:stretchColumns="*" >
<TableRow
android:id="@+id/results_titles_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#F7F7F7" >
<TextView
android:id="@+id/results_col1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/results_col1_title" />
<TextView
android:id="@+id/results_col2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/results_col2_title" />
<TextView
android:id="@+id/results_col3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/results_col3_title" />
<TextView
android:id="@+id/results_col4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/results_col4_title" />
</TableRow>
</TableLayout>
有人知道怎么解决吗?
谢谢
【问题讨论】:
标签: android tablelayout tablerow