問題描述
我得到如下異常.有人可以幫幫我嗎?
I m getting exception as follow. Can anybody help me?
06-16 11:32:48.237: 錯(cuò)誤/AndroidRuntime(9223):java.lang.IllegalStateException:指定的孩子已經(jīng)有一個(gè)父母.您必須先在孩子的父母上調(diào)用 removeView().
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at android.view.ViewGroup.addViewInner(ViewGroup.java:1970)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at android.view.ViewGroup.addView(ViewGroup.java:1865)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at android.view.ViewGroup.addView(ViewGroup.java:1822)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at android.view.ViewGroup.addView(ViewGroup.java:1802)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at com.mVisum_philips.MainECGActivity.popupEvent(MainECGActivity.java:628)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at com.mVisum_philips.MainECGActivity$1.onClick(MainECGActivity.java:195)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at android.view.View.performClick(View.java:2408)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at android.view.View$PerformClick.run(View.java:8816)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at android.os.Handler.handleCallback(Handler.java:587)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at android.os.Handler.dispatchMessage(Handler.java:92)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at android.os.Looper.loop(Looper.java:123)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at android.app.ActivityThread.main(ActivityThread.java:4627)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at java.lang.reflect.Method.invokeNative(Native Method)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at java.lang.reflect.Method.invoke(Method.java:521)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
06-16 11:32:48.237: ERROR/AndroidRuntime(9223): at dalvik.system.NativeStart.main(Native Method)
screen_pop_up.xml 的源代碼:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_height="wrap_content" android:layout_width="match_parent">
<LinearLayout android:id="@+id/headerLin" android:layout_width="fill_parent" android:layout_height="wrap_content">
<RelativeLayout android:layout_height="wrap_content" android:id="@+id/relativeLayout1" android:layout_width="fill_parent">
<Button android:layout_width="wrap_content" android:id="@+id/button1" android:layout_height="wrap_content" android:text="Done"></Button>
<LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:orientation="horizontal" android:layout_height="wrap_content" android:layout_alignParentRight="true">
<Button android:layout_height="wrap_content" android:background="@drawable/h_scale" android:id="@+id/button2" android:layout_width="wrap_content" android:padding="15sp"></Button>
<Button android:layout_height="wrap_content" android:background="@drawable/v_scale" android:id="@+id/button3" android:layout_width="wrap_content" android:padding="14sp"></Button>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<LinearLayout android:id="@+id/linLin" android:layout_height="300sp" android:layout_width="250sp">
</LinearLayout>
</LinearLayout>
我得到異常的源代碼如下:
Source code where i m getting the exception is as follows:
final Dialog myDialog = new Dialog(MainECGActivity.this);
myDialog.setContentView(R.layout.screen_pop_up);
myDialog.setTitle("My Dialog");
LinearLayout myLin = (LinearLayout) myDialog.findViewById(R.id.linLin);
**myLin.addView(ECGField.get(0));**
myDialog.setCancelable(true);
Button button = (Button) myDialog.findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
myDialog.dismiss();
}
});
myDialog.show();
我在這里經(jīng)歷了很多線程,但我錯(cuò)過了一些東西.提前致謝.
I have gone through many threads here but I am missing something. Thanks in advance.
推薦答案
視圖只能有一個(gè)父視圖.您正在添加的視圖(我猜是重用)已經(jīng)是另一個(gè)視圖層次結(jié)構(gòu)的一部分.如果您真的想重用它(我建議您可能不要),那么您必須將它與現(xiàn)有視圖層次結(jié)構(gòu)中的父級(jí)分離.
A view can only have a single parent. The view that you are adding (I am guessing re-using) is already part of another view hierarchy. If you really want to reuse it (I would suggest you probably dont) then you have to detach it from its parent in its existing view hierarchy.
ECGField.get(0) 返回的內(nèi)容已經(jīng)在視圖層次結(jié)構(gòu)中.
whatever is returned by ECGField.get(0) is already in a view hierarchy.
這篇關(guān)于Android異常“指定的孩子已經(jīng)有一個(gè)父母......"的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!