현재 행을 기존 테이블에 추가하는 응용 프로그램을 만들고 있습니다. 코드는 다음과 같습니다 : 나는 tabwidget 내부 FrameLayout이 먹으 렴 내부에있는 LinearLayout 그게 전부 내부의 테이블 레이아웃을 가지고 한 XML에서안드로이드에서 TableRow에 뷰를 추가 할 때 IllegalStateException이 발생했습니다.
TextView exampleTextView = (TextView) messageView.findViewById(R.id.exampleLabel);
exampleTextView.setText(locationMsg.getMessageContent());
TableRow tr = (TableRow) messageView.findViewById(R.id.tableRow);
tr.addView(exampleTextView);
table.addView(tr);
과는 다음과 같습니다
<TableLayout
android:id="@+id/distanceTable"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:background="#DDDDDD"
android:stretchColumns="1" >
<TableRow>
<TextView
android:textColor="#000000"
android:text="@string/label_device"
android:layout_gravity="center"
android:padding="3dip"
android:textSize="18sp" />
<TextView
android:textColor="#000000"
android:text="@string/label_distance"
android:layout_gravity="center"
android:padding="3dip"
android:textSize="18sp" />
<TextView
android:textColor="#000000"
android:text="@string/label_time"
android:layout_gravity="center"
android:padding="3dip"
android:textSize="18sp" />
</TableRow>
<TableRow android:id="@+id/tableRow" >
<TextView
android:id="@+id/exampleLabel"
android:textColor="#000000"
android:layout_gravity="center"
android:padding="3dip"
android:textSize="18sp" />
<TextView
android:id="@+id/anotherExampleLabel"
android:textColor="#000000"
android:layout_gravity="center"
android:padding="3dip"
android:textSize="18sp" />
<TextView
android:id="@+id/someOtherLabel"
android:textColor="#000000"
android:layout_gravity="center"
android:padding="3dip"
android:textSize="18sp" />
</TableRow>
</TableLayout>
그 만들기 레이블을 잘 작동하지만 텍스트를 행에 추가 할 때 응용 프로그램이 충돌하고 "IllegalStateException"메시지가 표시됩니다. 자세한 메시지는
입니다. 지정한 자식에 이미 부모가 있습니다. 먼저 부모의 removeView() 을 호출해야합니다.
나는 그것을 얻지 못한다. this과 같은 튜토리얼을 보면 먼저 제거해야 할 것이 없습니다. 그래서 내가 뭘 잘못하고 있니?
코드에서 정의 할 때 오류가 발생하여 XML에서 이미 레이블을 정의하려고했습니다. 새 질문에서 그 오류를 지정하겠습니다. 감사! – Lars